First POC of peer routing using kademlia lib
This commit is contained in:
parent
c24a279d2d
commit
4889a0a790
0
libp2p/routing/__init__.py
Normal file
0
libp2p/routing/__init__.py
Normal file
31
libp2p/routing/interfaces.py
Normal file
31
libp2p/routing/interfaces.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
from abc import ABC, abstractmethod
|
||||||
|
# pylint: disable=too-few-public-methods
|
||||||
|
|
||||||
|
|
||||||
|
class IContentRouting(ABC):
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def provide(self, cid, announce=True):
|
||||||
|
"""
|
||||||
|
Provide adds the given cid to the content routing system. If announce is True,
|
||||||
|
it also announces it, otherwise it is just kept in the local
|
||||||
|
accounting of which objects are being provided.
|
||||||
|
"""
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def find_provider_iter(self, cid, count):
|
||||||
|
"""
|
||||||
|
Search for peers who are able to provide a given key
|
||||||
|
returns an iterator of peer.PeerInfo
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class IPeerRouting(ABC):
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def find_peer(self, peer_id):
|
||||||
|
"""
|
||||||
|
Find specific Peer
|
||||||
|
FindPeer searches for a peer with given peer_id, returns a peer.PeerInfo
|
||||||
|
with relevant addresses.
|
||||||
|
"""
|
Loading…
Reference in New Issue
Block a user