Files
bzzz/vendor/github.com/libp2p/go-yamux/v4/ping.go
anthonyrawlins 5978a0b8f5 WIP: Save agent roles integration work before CHORUS rebrand
- Agent roles and coordination features
- Chat API integration testing
- New configuration and workspace management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 02:21:11 +10:00

35 lines
633 B
Go

package yamux
import "time"
type ping struct {
id uint32
// written to by the session on ping response
pingResponse chan struct{}
// closed by the Ping call that sent the ping when done.
done chan struct{}
// result set before done is closed.
err error
duration time.Duration
}
func newPing(id uint32) *ping {
return &ping{
id: id,
pingResponse: make(chan struct{}, 1),
done: make(chan struct{}),
}
}
func (p *ping) finish(val time.Duration, err error) {
p.err = err
p.duration = val
close(p.done)
}
func (p *ping) wait() (time.Duration, error) {
<-p.done
return p.duration, p.err
}