mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2026-02-09 14:40:53 +00:00
WIP: chat example
This commit is contained in:
parent
96edf96e76
commit
9123760191
@ -3,6 +3,13 @@ from abc import ABC, abstractmethod
|
||||
|
||||
class INetwork(ABC):
|
||||
|
||||
@abstractmethod
|
||||
def get_peer_id(self):
|
||||
"""
|
||||
:return: the peer id
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def set_stream_handler(self, protocol_id, stream_handler):
|
||||
"""
|
||||
|
||||
@ -4,11 +4,13 @@ from .stream.net_stream import NetStream
|
||||
from .multiaddr import MultiAddr
|
||||
from .connection.raw_connection import RawConnection
|
||||
|
||||
from peer.id import ID
|
||||
|
||||
class Swarm(INetwork):
|
||||
|
||||
def __init__(self, my_peer_id, peerstore, upgrader):
|
||||
self.my_peer_id = my_peer_id
|
||||
self._my_peer_id = my_peer_id
|
||||
self.id = ID(my_peer_id)
|
||||
self.peerstore = peerstore
|
||||
self.upgrader = upgrader
|
||||
self.connections = dict()
|
||||
@ -16,6 +18,9 @@ class Swarm(INetwork):
|
||||
self.stream_handlers = dict()
|
||||
self.transport = None
|
||||
|
||||
def get_peer_id(self):
|
||||
return self.id
|
||||
|
||||
def set_stream_handler(self, protocol_id, stream_handler):
|
||||
"""
|
||||
:param protocol_id: protocol id used on stream
|
||||
@ -103,6 +108,7 @@ class Swarm(INetwork):
|
||||
try:
|
||||
# Success
|
||||
listener = self.transport.create_listener(conn_handler)
|
||||
self.listeners[multiaddr_str] = listener
|
||||
await listener.listen(multiaddr)
|
||||
return True
|
||||
except IOError:
|
||||
|
||||
Reference in New Issue
Block a user