1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
"""MeshBay Node transport layer — TCP+TLS (v1), QUIC (v2), WebRTC (browsers)."""
from .server import ChunkServer
from .client import ChunkClient
from .http_server import create_http_app
# QUIC transport (MNP v2) — requires aioquic>=1.0
try:
from .quic_server import QuicChunkServer, Denylist
from .quic_client import QuicChunkClient
QUIC_AVAILABLE = True
except ImportError:
QuicChunkServer = None # type: ignore[assignment,misc]
QuicChunkClient = None # type: ignore[assignment,misc]
Denylist = None # type: ignore[assignment,misc]
QUIC_AVAILABLE = False
# WebRTC transport (browsers) — requires aiortc>=1.9
try:
from .webrtc_server import WebRTCTransport, WebRTCPeerSession
WEBRTC_AVAILABLE = True
except ImportError:
WebRTCTransport = None # type: ignore[assignment,misc]
WebRTCPeerSession = None # type: ignore[assignment,misc]
WEBRTC_AVAILABLE = False
__all__ = [
"ChunkServer", "ChunkClient", "create_http_app",
"QuicChunkServer", "QuicChunkClient", "Denylist", "QUIC_AVAILABLE",
"WebRTCTransport", "WebRTCPeerSession", "WEBRTC_AVAILABLE",
]
|