mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2026-02-12 16:10:57 +00:00
Updated config & minor changes
This commit is contained in:
@ -46,18 +46,8 @@ MAX_AUTO_RELAY_ATTEMPTS = 3
|
|||||||
RESERVATION_REFRESH_THRESHOLD = 0.8 # Refresh at 80% of TTL
|
RESERVATION_REFRESH_THRESHOLD = 0.8 # Refresh at 80% of TTL
|
||||||
MAX_CONCURRENT_RESERVATIONS = 2
|
MAX_CONCURRENT_RESERVATIONS = 2
|
||||||
|
|
||||||
# Shared timeout constants (used across modules)
|
|
||||||
STREAM_READ_TIMEOUT = 15 # seconds
|
|
||||||
STREAM_WRITE_TIMEOUT = 15 # seconds
|
|
||||||
STREAM_CLOSE_TIMEOUT = 10 # seconds
|
|
||||||
DIAL_TIMEOUT = 10 # seconds
|
|
||||||
|
|
||||||
# NAT reachability timeout
|
|
||||||
REACHABILITY_TIMEOUT = 10 # seconds
|
|
||||||
|
|
||||||
# Relay roles enum -----------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
|
# Relay roles enum
|
||||||
class RelayRole(Flag):
|
class RelayRole(Flag):
|
||||||
"""
|
"""
|
||||||
Bit-flag enum that captures the three possible relay capabilities.
|
Bit-flag enum that captures the three possible relay capabilities.
|
||||||
@ -72,6 +62,7 @@ class RelayRole(Flag):
|
|||||||
CLIENT = auto() # Dial through existing relays ("client")
|
CLIENT = auto() # Dial through existing relays ("client")
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
class RelayConfig:
|
class RelayConfig:
|
||||||
"""Configuration for Circuit Relay v2."""
|
"""Configuration for Circuit Relay v2."""
|
||||||
|
|
||||||
|
|||||||
@ -39,12 +39,6 @@ from libp2p.tools.async_service import (
|
|||||||
Service,
|
Service,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .config import (
|
|
||||||
DIAL_TIMEOUT,
|
|
||||||
STREAM_READ_TIMEOUT,
|
|
||||||
STREAM_WRITE_TIMEOUT,
|
|
||||||
)
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
# Protocol ID for DCUtR
|
# Protocol ID for DCUtR
|
||||||
@ -53,6 +47,11 @@ PROTOCOL_ID = TProtocol("/libp2p/dcutr")
|
|||||||
# Maximum message size for DCUtR (4KiB as per spec)
|
# Maximum message size for DCUtR (4KiB as per spec)
|
||||||
MAX_MESSAGE_SIZE = 4 * 1024
|
MAX_MESSAGE_SIZE = 4 * 1024
|
||||||
|
|
||||||
|
# Timeouts
|
||||||
|
STREAM_READ_TIMEOUT = 30 # seconds
|
||||||
|
STREAM_WRITE_TIMEOUT = 30 # seconds
|
||||||
|
DIAL_TIMEOUT = 10 # seconds
|
||||||
|
|
||||||
# Maximum number of hole punch attempts per peer
|
# Maximum number of hole punch attempts per peer
|
||||||
MAX_HOLE_PUNCH_ATTEMPTS = 5
|
MAX_HOLE_PUNCH_ATTEMPTS = 5
|
||||||
|
|
||||||
|
|||||||
@ -31,9 +31,6 @@ from libp2p.tools.async_service import (
|
|||||||
Service,
|
Service,
|
||||||
)
|
)
|
||||||
|
|
||||||
from .config import (
|
|
||||||
DEFAULT_DISCOVERY_INTERVAL as CFG_DISCOVERY_INTERVAL,
|
|
||||||
)
|
|
||||||
from .pb.circuit_pb2 import (
|
from .pb.circuit_pb2 import (
|
||||||
HopMessage,
|
HopMessage,
|
||||||
)
|
)
|
||||||
@ -46,9 +43,9 @@ from .protocol_buffer import (
|
|||||||
|
|
||||||
logger = logging.getLogger("libp2p.relay.circuit_v2.discovery")
|
logger = logging.getLogger("libp2p.relay.circuit_v2.discovery")
|
||||||
|
|
||||||
# Constants (single-source-of-truth)
|
# Constants
|
||||||
DEFAULT_DISCOVERY_INTERVAL = CFG_DISCOVERY_INTERVAL
|
MAX_RELAYS_TO_TRACK = 10
|
||||||
MAX_RELAYS_TO_TRACK = 10 # Still discovery-specific
|
DEFAULT_DISCOVERY_INTERVAL = 60 # seconds
|
||||||
STREAM_TIMEOUT = 10 # seconds
|
STREAM_TIMEOUT = 10 # seconds
|
||||||
PEER_PROTOCOL_TIMEOUT = 5 # seconds
|
PEER_PROTOCOL_TIMEOUT = 5 # seconds
|
||||||
|
|
||||||
|
|||||||
@ -43,9 +43,6 @@ from .config import (
|
|||||||
DEFAULT_MAX_CIRCUIT_CONNS,
|
DEFAULT_MAX_CIRCUIT_CONNS,
|
||||||
DEFAULT_MAX_CIRCUIT_DURATION,
|
DEFAULT_MAX_CIRCUIT_DURATION,
|
||||||
DEFAULT_MAX_RESERVATIONS,
|
DEFAULT_MAX_RESERVATIONS,
|
||||||
STREAM_CLOSE_TIMEOUT,
|
|
||||||
STREAM_READ_TIMEOUT,
|
|
||||||
STREAM_WRITE_TIMEOUT,
|
|
||||||
)
|
)
|
||||||
from .pb.circuit_pb2 import (
|
from .pb.circuit_pb2 import (
|
||||||
HopMessage,
|
HopMessage,
|
||||||
@ -75,7 +72,7 @@ class Pipe(Enum):
|
|||||||
DST_TO_SRC = auto()
|
DST_TO_SRC = auto()
|
||||||
|
|
||||||
|
|
||||||
# Default limits for relay resources (single source of truth)
|
# Default limits for relay resources
|
||||||
DEFAULT_RELAY_LIMITS = RelayLimits(
|
DEFAULT_RELAY_LIMITS = RelayLimits(
|
||||||
duration=DEFAULT_MAX_CIRCUIT_DURATION,
|
duration=DEFAULT_MAX_CIRCUIT_DURATION,
|
||||||
data=DEFAULT_MAX_CIRCUIT_BYTES,
|
data=DEFAULT_MAX_CIRCUIT_BYTES,
|
||||||
@ -83,6 +80,10 @@ DEFAULT_RELAY_LIMITS = RelayLimits(
|
|||||||
max_reservations=DEFAULT_MAX_RESERVATIONS,
|
max_reservations=DEFAULT_MAX_RESERVATIONS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Stream operation timeouts
|
||||||
|
STREAM_READ_TIMEOUT = 15 # seconds
|
||||||
|
STREAM_WRITE_TIMEOUT = 15 # seconds
|
||||||
|
STREAM_CLOSE_TIMEOUT = 10 # seconds
|
||||||
MAX_READ_RETRIES = 5 # Maximum number of read retries
|
MAX_READ_RETRIES = 5 # Maximum number of read retries
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -97,7 +97,7 @@ class Reservation:
|
|||||||
"""Check if the reservation has expired."""
|
"""Check if the reservation has expired."""
|
||||||
return time.time() > self.expires_at
|
return time.time() > self.expires_at
|
||||||
|
|
||||||
# Expose a friendly status enum --------------------------------------
|
# Expose a friendly status enum
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def status(self) -> ReservationStatus:
|
def status(self) -> ReservationStatus:
|
||||||
|
|||||||
Reference in New Issue
Block a user