Change peerinfo to a class rather than a dictionary
This commit is contained in:
parent
e93ced5f6a
commit
95d3847d5a
|
@ -1,3 +1,5 @@
|
||||||
# PeerStore
|
# PeerStore
|
||||||
|
|
||||||
The PeerStore contains a mapping of peer IDs to PeerData objects. Each PeerData object represents a peer, and each PeerData contains a collection of protocols, addresses, and a mapping of metadata. PeerStore implements the IPeerStore (peer protocols), IAddrBook (address book), and IPeerMetadata (peer metadata) interfaces, which allows the peer store to effectively function as a dictionary for peer ID to protocol, address, and metadata.
|
The PeerStore contains a mapping of peer IDs to PeerData objects. Each PeerData object represents a peer, and each PeerData contains a collection of protocols, addresses, and a mapping of metadata. PeerStore implements the IPeerStore (peer protocols), IAddrBook (address book), and IPeerMetadata (peer metadata) interfaces, which allows the peer store to effectively function as a dictionary for peer ID to protocol, address, and metadata.
|
||||||
|
|
||||||
|
Note: PeerInfo represents a read-only summary of a PeerData object. Only the attributes assigned in PeerInfo are readable by references to PeerInfo objects.
|
4
peer/peerinfo.py
Normal file
4
peer/peerinfo.py
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
class PeerInfo:
|
||||||
|
def __init__(self, peer_id, peer_data):
|
||||||
|
self.peer_id = peer_id
|
||||||
|
self.addrs = peer_data.get_addrs()
|
|
@ -1,5 +1,6 @@
|
||||||
from .peerstore_interface import IPeerStore
|
from .peerstore_interface import IPeerStore
|
||||||
from .peerdata import PeerData
|
from .peerdata import PeerData
|
||||||
|
from .peerinfo import PeerInfo
|
||||||
|
|
||||||
class PeerStore(IPeerStore):
|
class PeerStore(IPeerStore):
|
||||||
|
|
||||||
|
@ -24,10 +25,7 @@ class PeerStore(IPeerStore):
|
||||||
def peer_info(self, peer_id):
|
def peer_info(self, peer_id):
|
||||||
if peer_id in self.peer_map:
|
if peer_id in self.peer_map:
|
||||||
peer = self.peer_map[peer_id]
|
peer = self.peer_map[peer_id]
|
||||||
return {
|
return PeerInfo(peer_id, peer)
|
||||||
"peer_id": peer_id,
|
|
||||||
"addrs": peer.get_addrs()
|
|
||||||
}
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_protocols(self, peer_id):
|
def get_protocols(self, peer_id):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user