transport interface

This commit is contained in:
zixuanzh 2018-10-26 22:09:39 +02:00
parent 6e46e3ec09
commit b89710a40b

View File

@ -0,0 +1,24 @@
from abc import ABC, abstractmethod
class ITransport(ABC):
@abstractmethod
def dial(self, multiaddr, options=None):
"""
dial a transport to peer listening on multiaddr
:param multiaddr: multiaddr of peer
:param options: optional object
:return: list of multiaddrs
"""
pass
@abstractmethod
def create_listener(self, handler_function, options=None):
"""
create listener on transport
:param options: optional object with properties the listener must have
:param handler_function: a function called when a new conntion is received
that takes a connection as argument which implements interface-connection
:return: a listener object that implements listener_interface.py
"""
pass