mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2025-12-31 20:36:24 +00:00
51 lines
1.1 KiB
Python
51 lines
1.1 KiB
Python
from collections.abc import (
|
|
Sequence,
|
|
)
|
|
from typing import (
|
|
NamedTuple,
|
|
)
|
|
|
|
import multiaddr
|
|
|
|
from libp2p.peer.peerinfo import (
|
|
PeerInfo,
|
|
)
|
|
from libp2p.pubsub import (
|
|
floodsub,
|
|
gossipsub,
|
|
)
|
|
|
|
# Just a arbitrary large number.
|
|
# It is used when calling `MplexStream.read(MAX_READ_LEN)`,
|
|
# to avoid `MplexStream.read()`, which blocking reads until EOF.
|
|
MAX_READ_LEN = 65535
|
|
|
|
|
|
LISTEN_MADDR = multiaddr.Multiaddr("/ip4/127.0.0.1/tcp/0")
|
|
|
|
|
|
FLOODSUB_PROTOCOL_ID = floodsub.PROTOCOL_ID
|
|
GOSSIPSUB_PROTOCOL_ID = gossipsub.PROTOCOL_ID
|
|
GOSSIPSUB_PROTOCOL_ID_V1 = gossipsub.PROTOCOL_ID_V11
|
|
|
|
|
|
class GossipsubParams(NamedTuple):
|
|
degree: int = 10
|
|
degree_low: int = 9
|
|
degree_high: int = 11
|
|
direct_peers: Sequence[PeerInfo] = []
|
|
time_to_live: int = 30
|
|
gossip_window: int = 3
|
|
gossip_history: int = 5
|
|
heartbeat_initial_delay: float = 0.1
|
|
heartbeat_interval: float = 0.5
|
|
direct_connect_initial_delay: float = 0.1
|
|
direct_connect_interval: int = 300
|
|
do_px: bool = False
|
|
px_peers_count: int = 16
|
|
prune_back_off: int = 60
|
|
unsubscribe_back_off: int = 10
|
|
|
|
|
|
GOSSIPSUB_PARAMS = GossipsubParams()
|