First POC of peer routing using kademlia lib

This commit is contained in:
Christophe de Carvalho Pereira Martins 2019-01-15 18:43:54 +01:00 committed by Christophe de Carvalho
parent c24a279d2d
commit 4889a0a790
No known key found for this signature in database
GPG Key ID: EFEE139F5CCB06C2
2 changed files with 31 additions and 0 deletions

View File

View 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.
"""