p2p: drop connections with no matching protocols

This commit is contained in:
Felix Lange
2015-05-08 16:09:38 +02:00
parent e45d9bb29d
commit d4f0a67323
2 changed files with 21 additions and 4 deletions

View File

@ -211,6 +211,18 @@ func (p *Peer) handle(msg Msg) error {
return nil
}
func countMatchingProtocols(protocols []Protocol, caps []Cap) int {
n := 0
for _, cap := range caps {
for _, proto := range protocols {
if proto.Name == cap.Name && proto.Version == cap.Version {
n++
}
}
}
return n
}
// matchProtocols creates structures for matching named subprotocols.
func matchProtocols(protocols []Protocol, caps []Cap, rw MsgReadWriter) map[string]*protoRW {
sort.Sort(capsByName(caps))