py-libp2p/libp2p/peer/peermetadata_interface.py

28 lines
714 B
Python
Raw Normal View History

from abc import ABC, abstractmethod
2019-07-31 15:00:12 -07:00
from typing import Any
2019-07-27 16:27:01 +08:00
2019-07-31 15:00:12 -07:00
from .id import ID
2019-01-09 21:38:56 +03:00
class IPeerMetadata(ABC):
2019-07-27 16:27:01 +08:00
def __init__(self) -> None:
pass
2018-10-21 15:15:53 -04:00
@abstractmethod
2019-07-30 15:31:02 +08:00
def get(self, peer_id: ID, key: str) -> Any:
2018-10-21 15:15:53 -04:00
"""
:param peer_id: peer ID to lookup key for
:param key: key to look up
2018-10-30 00:03:19 +01:00
:return: value at key for given peer
:raise Exception: peer ID not found
"""
2018-10-21 15:15:53 -04:00
@abstractmethod
2019-07-30 15:31:02 +08:00
def put(self, peer_id: ID, key: str, val: Any) -> None:
2018-10-21 15:15:53 -04:00
"""
:param peer_id: peer ID to lookup key for
:param key: key to associate with peer
:param val: value to associated with key
2018-10-30 00:03:19 +01:00
:raise Exception: unsuccessful put
"""