RichΛrd 40359f9c1b
go-waku integration (#2247)
* Adding wakunode module
* Adding wakuv2 fleet files
* Add waku fleets to update-fleet-config script
* Adding config items for waku v2
* Conditionally start waku v2 node depending on config
* Adapting common code to use go-waku
* Setting log level to info
* update dependencies
* update fleet config to use WakuNodes instead of BootNodes
* send and receive messages
* use hash returned when publishing a message
* add waku store protocol
* trigger signal after receiving store messages
* exclude linting rule SA1019 to check deprecated packages
2021-06-16 16:19:45 -04: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
}