Updated config & minor changes

This commit is contained in:
parth-soni07
2025-09-11 14:18:40 +05:30
parent 4a36d6efeb
commit 8793667503
5 changed files with 16 additions and 28 deletions

View File

@ -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."""

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: