From 4f5f95352396c3b50381b5c2bfbe51eca38ab622 Mon Sep 17 00:00:00 2001 From: zixuanzh Date: Fri, 26 Oct 2018 22:16:24 +0200 Subject: [PATCH] listener interface --- network/connection_interface.py | 3 ++- network/listener_interface.py | 32 ++++++++++++++++++++++++++++++++ network/network_interface.py | 2 +- 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 network/listener_interface.py diff --git a/network/connection_interface.py b/network/connection_interface.py index 356c2ab..813ea7d 100644 --- a/network/connection_interface.py +++ b/network/connection_interface.py @@ -22,5 +22,6 @@ class IConnection(ABC): def set_peer_info(self, peer_info): """ :param peer_info: a peer info object that contains info of peer - :return: true if successful + :return: True if successful """ + pass diff --git a/network/listener_interface.py b/network/listener_interface.py new file mode 100644 index 0000000..05b2aed --- /dev/null +++ b/network/listener_interface.py @@ -0,0 +1,32 @@ +from abc import ABC, abstractmethod + +class IListener(ABC): + + @abstractmethod + def listen(self, multiaddr): + """ + put listener in listening mode and wait for incoming connections + :param multiaddr: multiaddr of peer + :return: return True if successful + """ + pass + + @abstractmethod + def get_addrs(self): + """ + retrieve list of addresses the listener is listening on + :return: return list of addrs + """ + pass + + @abstractmethod + def close(self, options=None): + """ + close the listener such that no more connections + can be open on this transport instance + :param options: optional object potential with timeout + a timeout value in ms that fires and destroy all connections + :return: return True if successful + """ + pass + diff --git a/network/network_interface.py b/network/network_interface.py index ae805d3..7fb0176 100644 --- a/network/network_interface.py +++ b/network/network_interface.py @@ -26,5 +26,5 @@ class INetwork(ABC): def listen(self, *args): """ :param *args: one or many multiaddrs to start listening on - :return: true if at least one success + :return: True if at least one success """