Browse Source

p2p: fix switch test for Broadcast returning success channel

pull/32/head
Ethan Buchman 10 years ago
committed by Jae Kwon
parent
commit
a2938fd35b
2 changed files with 9 additions and 4 deletions
  1. +1
    -1
      p2p/switch.go
  2. +8
    -3
      p2p/switch_test.go

+ 1
- 1
p2p/switch.go View File

@ -166,7 +166,7 @@ func (sw *Switch) IsDialing(addr *NetAddress) bool {
// which receives success values for each attempted send (false if times out) // which receives success values for each attempted send (false if times out)
func (sw *Switch) Broadcast(chId byte, msg interface{}) chan bool { func (sw *Switch) Broadcast(chId byte, msg interface{}) chan bool {
if atomic.LoadUint32(&sw.stopped) == 1 { if atomic.LoadUint32(&sw.stopped) == 1 {
return
return nil
} }
successChan := make(chan bool, len(sw.peers.List())) successChan := make(chan bool, len(sw.peers.List()))
log.Debug("Broadcast", "channel", chId, "msg", msg) log.Debug("Broadcast", "channel", chId, "msg", msg)


+ 8
- 3
p2p/switch_test.go View File

@ -197,9 +197,14 @@ func BenchmarkSwitches(b *testing.B) {
// Send random message from one channel to another // Send random message from one channel to another
for i := 0; i < b.N; i++ { for i := 0; i < b.N; i++ {
chId := byte(i % 4) chId := byte(i % 4)
nS, nF := s1.Broadcast(chId, "test data")
numSuccess += nS
numFailure += nF
successChan := s1.Broadcast(chId, "test data")
for s := range successChan {
if s {
numSuccess += 1
} else {
numFailure += 1
}
}
} }
log.Warn(Fmt("success: %v, failure: %v", numSuccess, numFailure)) log.Warn(Fmt("success: %v, failure: %v", numSuccess, numFailure))


Loading…
Cancel
Save