mirror of
https://github.com/varun-r-mallya/py-libp2p.git
synced 2026-02-12 16:10:57 +00:00
refactor(app): 804 refactored find_free_port() in address_validation.py
This commit is contained in:
@ -1,7 +1,6 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import random
|
import random
|
||||||
import secrets
|
import secrets
|
||||||
import socket
|
|
||||||
|
|
||||||
import multiaddr
|
import multiaddr
|
||||||
import trio
|
import trio
|
||||||
@ -25,6 +24,7 @@ from libp2p.peer.peerinfo import (
|
|||||||
info_from_p2p_addr,
|
info_from_p2p_addr,
|
||||||
)
|
)
|
||||||
from libp2p.utils.address_validation import (
|
from libp2p.utils.address_validation import (
|
||||||
|
find_free_port,
|
||||||
get_available_interfaces,
|
get_available_interfaces,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,13 +32,6 @@ PROTOCOL_ID = TProtocol("/echo/1.0.0")
|
|||||||
MAX_READ_LEN = 2**32 - 1
|
MAX_READ_LEN = 2**32 - 1
|
||||||
|
|
||||||
|
|
||||||
def find_free_port():
|
|
||||||
"""Find a free port on localhost."""
|
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
||||||
s.bind(("", 0)) # Bind to a free port provided by the OS
|
|
||||||
return s.getsockname()[1]
|
|
||||||
|
|
||||||
|
|
||||||
async def _echo_stream_handler(stream: INetStream) -> None:
|
async def _echo_stream_handler(stream: INetStream) -> None:
|
||||||
try:
|
try:
|
||||||
peer_id = stream.muxed_conn.peer_id
|
peer_id = stream.muxed_conn.peer_id
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
import socket
|
|
||||||
|
|
||||||
import base58
|
import base58
|
||||||
import multiaddr
|
import multiaddr
|
||||||
@ -31,6 +30,9 @@ from libp2p.stream_muxer.mplex.mplex import (
|
|||||||
from libp2p.tools.async_service.trio_service import (
|
from libp2p.tools.async_service.trio_service import (
|
||||||
background_trio_service,
|
background_trio_service,
|
||||||
)
|
)
|
||||||
|
from libp2p.utils.address_validation import (
|
||||||
|
find_free_port,
|
||||||
|
)
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
@ -77,13 +79,6 @@ async def publish_loop(pubsub, topic, termination_event):
|
|||||||
await trio.sleep(1) # Avoid tight loop on error
|
await trio.sleep(1) # Avoid tight loop on error
|
||||||
|
|
||||||
|
|
||||||
def find_free_port():
|
|
||||||
"""Find a free port on localhost."""
|
|
||||||
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
||||||
s.bind(("", 0)) # Bind to a free port provided by the OS
|
|
||||||
return s.getsockname()[1]
|
|
||||||
|
|
||||||
|
|
||||||
async def monitor_peer_topics(pubsub, nursery, termination_event):
|
async def monitor_peer_topics(pubsub, nursery, termination_event):
|
||||||
"""
|
"""
|
||||||
Monitor for new topics that peers are subscribed to and
|
Monitor for new topics that peers are subscribed to and
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import socket
|
||||||
|
|
||||||
from multiaddr import Multiaddr
|
from multiaddr import Multiaddr
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -35,6 +37,13 @@ def _safe_get_network_addrs(ip_version: int) -> list[str]:
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
||||||
|
def find_free_port() -> int:
|
||||||
|
"""Find a free port on localhost."""
|
||||||
|
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
||||||
|
s.bind(("", 0)) # Bind to a free port provided by the OS
|
||||||
|
return s.getsockname()[1]
|
||||||
|
|
||||||
|
|
||||||
def _safe_expand(addr: Multiaddr, port: int | None = None) -> list[Multiaddr]:
|
def _safe_expand(addr: Multiaddr, port: int | None = None) -> list[Multiaddr]:
|
||||||
"""
|
"""
|
||||||
Internal safe expansion wrapper. Returns a list of Multiaddr objects.
|
Internal safe expansion wrapper. Returns a list of Multiaddr objects.
|
||||||
@ -147,4 +156,5 @@ __all__ = [
|
|||||||
"get_available_interfaces",
|
"get_available_interfaces",
|
||||||
"get_optimal_binding_address",
|
"get_optimal_binding_address",
|
||||||
"expand_wildcard_address",
|
"expand_wildcard_address",
|
||||||
|
"find_free_port",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user