Source code for nimiqclient.models.peer

__all__ = ["PeerAddressState", "PeerConnectionState", "PeerStateCommand", "Peer"]

from enum import Enum


[docs]class PeerAddressState(int, Enum): """ Peer address state returned by the server. """ NEW = 1 """New peer.""" ESTABLISHED = 2 """Established peer.""" TRIED = 3 """Already tried peer.""" FAILED = 4 """Peer failed.""" BANNED = 5 """Balled peer."""
[docs]class PeerConnectionState(int, Enum): """ Peer connection state returned by the server. """ NEW = 1 """New connection.""" CONNECTING = 2 """Connecting.""" CONNECTED = 3 """Connected.""" NEGOTIATING = 4 """Negotiating connection.""" ESTABLISHED = 5 """Connection established.""" CLOSED = 6 """Connection closed."""
[docs]class PeerStateCommand(str, Enum): """ Commands to change the state of a peer. """ CONNECT = "connect" """Connect.""" DISCONNECT = "disconnect" """Disconnect.""" BAN = "ban" """Ban.""" UNBAN = "unban" """Unban.""" def __str__(self): return self.value
[docs]class Peer: """ Peer information returned by the server. :param id: Peer id. :type id: str :param address: Peer address. :type address: str :param addressState: Peer address state. :type addressState: int :param connectionState: Peer connection state. :type connectionState: PeerConnectionState, optional :param version: Node version the peer is running. :type version: int, optional :param timeOffset: Time offset with the peer (in miliseconds). :type timeOffset: int, optional :param headHash: Hash of the head block of the peer. :type headHash: str, optional :param latency: Latency to the peer. :type latency: int, optional :param rx: Received bytes. :type rx: int, optional :param tx: Sent bytes. :type tx: int, optional """ def __init__( self, id, address, addressState, connectionState=None, version=None, timeOffset=None, headHash=None, latency=None, rx=None, tx=None, ): self.id = id self.address = address self.addressState = addressState self.connectionState = connectionState self.version = version self.timeOffset = timeOffset self.headHash = headHash self.latency = latency self.rx = rx self.tx = tx