add still needed TYPE_CHECK
This commit is contained in:
parent
87ef2e4618
commit
29091266fc
|
@ -19,6 +19,7 @@ from .network_interface import INetwork
|
||||||
from .notifee_interface import INotifee
|
from .notifee_interface import INotifee
|
||||||
from .stream.net_stream import NetStream
|
from .stream.net_stream import NetStream
|
||||||
from .stream.net_stream_interface import INetStream
|
from .stream.net_stream_interface import INetStream
|
||||||
|
from .typing import GenericProtocolHandlerFn
|
||||||
|
|
||||||
StreamHandlerFn = Callable[[INetStream], Awaitable[None]]
|
StreamHandlerFn = Callable[[INetStream], Awaitable[None]]
|
||||||
|
|
||||||
|
@ -248,9 +249,6 @@ class Swarm(INetwork):
|
||||||
# TODO: `disconnect`?
|
# TODO: `disconnect`?
|
||||||
|
|
||||||
|
|
||||||
GenericProtocolHandlerFn = Callable[[IMuxedStream], Awaitable[None]]
|
|
||||||
|
|
||||||
|
|
||||||
def create_generic_protocol_handler(swarm: Swarm) -> GenericProtocolHandlerFn:
|
def create_generic_protocol_handler(swarm: Swarm) -> GenericProtocolHandlerFn:
|
||||||
"""
|
"""
|
||||||
Create a generic protocol handler from the given swarm. We use swarm
|
Create a generic protocol handler from the given swarm. We use swarm
|
||||||
|
|
4
libp2p/network/typing.py
Normal file
4
libp2p/network/typing.py
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
from typing import Awaitable, Callable
|
||||||
|
from libp2p.stream_muxer.muxed_stream_interface import IMuxedStream
|
||||||
|
|
||||||
|
GenericProtocolHandlerFn = Callable[[IMuxedStream], Awaitable[None]]
|
|
@ -4,7 +4,7 @@ from typing import Tuple, Dict
|
||||||
from multiaddr import Multiaddr
|
from multiaddr import Multiaddr
|
||||||
from libp2p.security.secure_conn_interface import ISecureConn
|
from libp2p.security.secure_conn_interface import ISecureConn
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from libp2p.network.swarm import GenericProtocolHandlerFn
|
from libp2p.network.typing import GenericProtocolHandlerFn
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
from libp2p.stream_muxer.muxed_connection_interface import IMuxedConn
|
from libp2p.stream_muxer.muxed_connection_interface import IMuxedConn
|
||||||
from libp2p.stream_muxer.muxed_stream_interface import IMuxedStream
|
from libp2p.stream_muxer.muxed_stream_interface import IMuxedStream
|
||||||
|
@ -24,8 +24,8 @@ class Mplex(IMuxedConn):
|
||||||
initiator: bool
|
initiator: bool
|
||||||
generic_protocol_handler = None
|
generic_protocol_handler = None
|
||||||
peer_id: ID
|
peer_id: ID
|
||||||
buffers: Dict[int, asyncio.Queue[bytes]]
|
buffers: Dict[int, "asyncio.Queue[bytes]"]
|
||||||
stream_queue: asyncio.Queue[int]
|
stream_queue: "asyncio.Queue[int]"
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
|
|
@ -2,11 +2,16 @@ from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from multiaddr import Multiaddr
|
from multiaddr import Multiaddr
|
||||||
from libp2p.security.secure_conn_interface import ISecureConn
|
from libp2p.security.secure_conn_interface import ISecureConn
|
||||||
from libp2p.network.swarm import GenericProtocolHandlerFn
|
from libp2p.network.typing import GenericProtocolHandlerFn
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
from libp2p.stream_muxer.muxed_stream_interface import IMuxedStream
|
|
||||||
from libp2p.stream_muxer.mplex.constants import HeaderTags
|
from libp2p.stream_muxer.mplex.constants import HeaderTags
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from libp2p.stream_muxer.muxed_stream_interface import IMuxedStream
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class IMuxedConn(ABC):
|
class IMuxedConn(ABC):
|
||||||
"""
|
"""
|
||||||
|
@ -55,7 +60,7 @@ class IMuxedConn(ABC):
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
async def open_stream(
|
async def open_stream(
|
||||||
self, protocol_id: str, multi_addr: Multiaddr
|
self, protocol_id: str, multi_addr: Multiaddr
|
||||||
) -> IMuxedStream:
|
) -> "IMuxedStream":
|
||||||
"""
|
"""
|
||||||
creates a new muxed_stream
|
creates a new muxed_stream
|
||||||
:param protocol_id: protocol_id of stream
|
:param protocol_id: protocol_id of stream
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from libp2p.stream_muxer.muxed_connection_interface import IMuxedConn
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from libp2p.stream_muxer.muxed_connection_interface import IMuxedConn
|
||||||
|
|
||||||
|
|
||||||
class IMuxedStream(ABC):
|
class IMuxedStream(ABC):
|
||||||
|
|
||||||
mplex_conn: IMuxedConn
|
mplex_conn: "IMuxedConn"
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
async def read(self) -> bytes:
|
async def read(self) -> bytes:
|
||||||
|
|
|
@ -3,7 +3,7 @@ from typing import Dict, Sequence
|
||||||
from libp2p.stream_muxer.mplex.mplex import Mplex
|
from libp2p.stream_muxer.mplex.mplex import Mplex
|
||||||
from libp2p.security.security_multistream import SecurityMultistream, TProtocol
|
from libp2p.security.security_multistream import SecurityMultistream, TProtocol
|
||||||
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
from libp2p.network.connection.raw_connection_interface import IRawConnection
|
||||||
from libp2p.network.swarm import GenericProtocolHandlerFn
|
from libp2p.network.typing import GenericProtocolHandlerFn
|
||||||
from libp2p.peer.id import ID
|
from libp2p.peer.id import ID
|
||||||
from libp2p.security.secure_conn_interface import ISecureConn
|
from libp2p.security.secure_conn_interface import ISecureConn
|
||||||
from libp2p.security.secure_transport_interface import ISecureTransport
|
from libp2p.security.secure_transport_interface import ISecureTransport
|
||||||
|
|
Loading…
Reference in New Issue
Block a user