diff options
Diffstat (limited to 'core/test/tcp-transport.go')
-rw-r--r-- | core/test/tcp-transport.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/core/test/tcp-transport.go b/core/test/tcp-transport.go index bbc4d56..fdc47d5 100644 --- a/core/test/tcp-transport.go +++ b/core/test/tcp-transport.go @@ -205,6 +205,11 @@ func (t *TCPTransport) clientHandshake(conn net.Conn) ( return } +// Disconnect implements Transport.Disconnect method. +func (t *TCPTransport) Disconnect(endpoint types.NodeID) { + delete(t.peers, endpoint) +} + func (t *TCPTransport) send( endpoint types.NodeID, msg interface{}, payload []byte) { t.peersLock.RLock() @@ -217,6 +222,10 @@ func (t *TCPTransport) send( func (t *TCPTransport) Send( endpoint types.NodeID, msg interface{}) (err error) { + if _, exist := t.peers[endpoint]; !exist { + return fmt.Errorf("the endpoint does not exists: %v", endpoint) + } + payload, err := t.marshalMessage(msg) if err != nil { return |