diff options
author | John Newbery <john@johnnewbery.com> | 2017-10-17 15:56:12 -0400 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2017-11-28 12:47:02 -0500 |
commit | e9dfa9bccc5cbb6096c60498651b451297f0a931 (patch) | |
tree | d5579409c9cef4ca156693b5f4eb2b71684b8780 /test/functional | |
parent | dad596fc37c8733ab806a0aa4224ac437d37aee5 (diff) |
[tests] Move version message sending from NodeConn to NodeConnCB
This commit moves the logic that sends a version message
on connection from NodeConn to NodeConnCB. NodeConn should
not be aware of the semantics or meaning of the P2P payloads.
Diffstat (limited to 'test/functional')
-rwxr-xr-x | test/functional/test_framework/mininode.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/test/functional/test_framework/mininode.py b/test/functional/test_framework/mininode.py index 09a382c727..c580d99c79 100755 --- a/test/functional/test_framework/mininode.py +++ b/test/functional/test_framework/mininode.py @@ -75,7 +75,7 @@ class NodeConn(asyncore.dispatcher): def __init__(self): super().__init__(map=mininode_socket_map) - def peer_connect(self, dstaddr, dstport, net="regtest", services=NODE_NETWORK|NODE_WITNESS, send_version=True): + def peer_connect(self, dstaddr, dstport, net="regtest"): self.dstaddr = dstaddr self.dstport = dstport self.create_socket(socket.AF_INET, socket.SOCK_STREAM) @@ -86,16 +86,6 @@ class NodeConn(asyncore.dispatcher): self.network = net self.disconnect = False - if send_version: - # stuff version msg into sendbuf - vt = msg_version() - vt.nServices = services - vt.addrTo.ip = self.dstaddr - vt.addrTo.port = self.dstport - vt.addrFrom.ip = "0.0.0.0" - vt.addrFrom.port = 0 - self.send_message(vt, True) - logger.info('Connecting to Bitcoin Node: %s:%d' % (self.dstaddr, self.dstport)) try: @@ -279,6 +269,19 @@ class NodeConnCB(NodeConn): # The network services received from the peer self.nServices = 0 + def peer_connect(self, *args, services=NODE_NETWORK|NODE_WITNESS, send_version=True, **kwargs): + super().peer_connect(*args, **kwargs) + + if send_version: + # Send a version msg + vt = msg_version() + vt.nServices = services + vt.addrTo.ip = self.dstaddr + vt.addrTo.port = self.dstport + vt.addrFrom.ip = "0.0.0.0" + vt.addrFrom.port = 0 + self.send_message(vt, True) + # Message receiving methods def on_message(self, message): |