func newPonger(rot router.Router, done chan<- bool) { //attach chans to router pingChan := make(chan Msg) pongChan := make(chan Msg) rot.AttachSendChan(router.StrID("pong"), pongChan) rot.AttachRecvChan(router.StrID("ping"), pingChan) //start ponger pong := &Ponger{pongChan, pingChan, done} go pong.Run() }
func newPinger(rot router.Router, done chan<- bool, numRuns int) { //attach chans to router pingChan := make(chan *Msg) pongChan := make(chan *Msg) rot.AttachSendChan(router.StrID("ping"), pingChan) rot.AttachRecvChan(router.StrID("pong"), pongChan) //start pinger ping := &Pinger{pingChan, pongChan, done, numRuns} go ping.Run() }
func newPonger(rot router.Router, done chan<- bool) { //attach chans to router pingChan := make(chan *Msg) pongChan := make(chan *Msg) //bindChan := make(chan *router.BindEvent, 1) rot.AttachSendChan(router.StrID("pong"), pongChan /*, bindChan*/) rot.AttachRecvChan(router.StrID("ping"), pingChan) //wait for pinger connecting /* for { if (<-bindChan).Count > 0 { break } } */ //start ponger pong := &Ponger{pongChan, pingChan, done} go pong.Run() }