Browse Source

close conns on filter; fix order in MakeConnectedSwitch

pull/456/head
Ethan Buchman 8 years ago
parent
commit
58e42397f8
2 changed files with 8 additions and 8 deletions
  1. +7
    -7
      switch.go
  2. +1
    -1
      types.go

+ 7
- 7
switch.go View File

@ -195,8 +195,10 @@ func (sw *Switch) OnStop() {
// NOTE: This performs a blocking handshake before the peer is added.
// CONTRACT: Iff error is returned, peer is nil, and conn is immediately closed.
func (sw *Switch) AddPeerWithConnection(conn net.Conn, outbound bool) (*Peer, error) {
// Filter by addr (ie. ip:port)
if err := sw.FilterConnByAddr(conn.RemoteAddr()); err != nil {
conn.Close()
return nil, err
}
@ -217,6 +219,7 @@ func (sw *Switch) AddPeerWithConnection(conn net.Conn, outbound bool) (*Peer, er
// Filter by p2p-key
if err := sw.FilterConnByPubKey(sconn.(*SecretConnection).RemotePubKey()); err != nil {
sconn.Close()
return nil, err
}
@ -466,18 +469,15 @@ func MakeConnectedSwitches(n int, initSwitch func(int, *Switch) *Switch, connect
switches[i] = makeSwitch(i, "testing", "123.123.123", initSwitch)
}
if err := StartSwitches(switches); err != nil {
panic(err)
}
for i := 0; i < n; i++ {
for j := i; j < n; j++ {
connect(switches, i, j)
}
}
// Wait for things to happen, peers to get added...
// TODO: better
time.Sleep(100 * time.Millisecond * time.Duration(n*n))
if err := StartSwitches(switches); err != nil {
panic(err)
}
return switches
}


+ 1
- 1
types.go View File

@ -21,7 +21,7 @@ type NodeInfo struct {
Other []string `json:"other"` // other application specific data
}
// CONTRACT: two nodes are compactible if the major/minor versions match and network match
// CONTRACT: two nodes are compatible if the major/minor versions match and network match
func (info *NodeInfo) CompatibleWith(other *NodeInfo) error {
iMajor, iMinor, _, iErr := splitVersion(info.Version)
oMajor, oMinor, _, oErr := splitVersion(other.Version)


Loading…
Cancel
Save