chore(kad_dht): centralize shared values in common.py

This commit is contained in:
Luca Vivona
2025-06-19 21:24:39 -04:00
parent 09b4c846a4
commit dfc0bb4ec8
5 changed files with 32 additions and 17 deletions

10
libp2p/kad_dht/common.py Normal file
View File

@ -0,0 +1,10 @@
from libp2p.custom_types import (
TProtocol,
)
# Constants for the Kademlia algorithm
ALPHA = 3 # Concurrency parameter
PROTOCOL_ID = TProtocol("/ipfs/kad/1.0.0")
QUERY_TIMEOUT = 10
TTL = DEFAULT_TTL = 24 * 60 * 60 # 24 hours in seconds

View File

@ -49,16 +49,16 @@ from .routing_table import (
from .value_store import (
ValueStore,
)
from .common import (
PROTOCOL_ID,
ALPHA,
QUERY_TIMEOUT
)
logger = logging.getLogger("kademlia-example.kad_dht")
# logger = logging.getLogger("libp2p.kademlia")
# Default parameters
PROTOCOL_ID = TProtocol("/ipfs/kad/1.0.0")
ROUTING_TABLE_REFRESH_INTERVAL = 1 * 60 # 1 min in seconds for testing
TTL = 24 * 60 * 60 # 24 hours in seconds
ALPHA = 3
QUERY_TIMEOUT = 10 # seconds
ROUTING_TABLE_REFRESH_INTERVAL = 60 # 1 min in seconds for testing
class DHTMode(Enum):
"""DHT operation modes."""

View File

@ -25,12 +25,17 @@ from libp2p.peer.peerinfo import (
PeerInfo,
)
from .pb.kademlia_pb2 import (
Message,
)
from .routing_table import (
RoutingTable,
)
from .common import (
PROTOCOL_ID,
ALPHA
)
from .utils import (
sort_peer_ids_by_distance,
)
@ -38,10 +43,7 @@ from .utils import (
# logger = logging.getLogger("libp2p.kademlia.peer_routing")
logger = logging.getLogger("kademlia-example.peer_routing")
# Constants for the Kademlia algorithm
ALPHA = 3 # Concurrency parameter
MAX_PEER_LOOKUP_ROUNDS = 20 # Maximum number of rounds in peer lookup
PROTOCOL_ID = TProtocol("/ipfs/kad/1.0.0")
class PeerRouting(IPeerRouting):

View File

@ -33,6 +33,12 @@ from .pb.kademlia_pb2 import (
Message,
)
from .common import (
PROTOCOL_ID,
ALPHA,
QUERY_TIMEOUT
)
# logger = logging.getLogger("libp2p.kademlia.provider_store")
logger = logging.getLogger("kademlia-example.provider_store")
@ -40,9 +46,6 @@ logger = logging.getLogger("kademlia-example.provider_store")
PROVIDER_RECORD_REPUBLISH_INTERVAL = 22 * 60 * 60 # 22 hours in seconds
PROVIDER_RECORD_EXPIRATION_INTERVAL = 48 * 60 * 60 # 48 hours in seconds
PROVIDER_ADDRESS_TTL = 30 * 60 # 30 minutes in seconds
PROTOCOL_ID = TProtocol("/ipfs/kad/1.0.0")
ALPHA = 3 # Number of parallel queries/advertisements
QUERY_TIMEOUT = 10 # Timeout for each query in seconds
class ProviderRecord:

View File

@ -23,14 +23,14 @@ from .pb.kademlia_pb2 import (
Message,
)
from .common import (
PROTOCOL_ID,
DEFAULT_TTL
)
# logger = logging.getLogger("libp2p.kademlia.value_store")
logger = logging.getLogger("kademlia-example.value_store")
# Default time to live for values in seconds (24 hours)
DEFAULT_TTL = 24 * 60 * 60
PROTOCOL_ID = TProtocol("/ipfs/kad/1.0.0")
class ValueStore:
"""
Store for key-value pairs in a Kademlia DHT.