aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transport/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport/__init__.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/__init__.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/__init__.py b/packages/meshbay-node/src/meshbay_node/transport/__init__.py
index 5a1b8d7..df9c209 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/__init__.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/__init__.py
@@ -1,10 +1,9 @@
-"""MeshBay Node transport layer — TCP+TLS (MNP v1) and QUIC (MNP v2)."""
+"""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
-# Falls back gracefully if not installed; node still works via TCP+TLS and HTTP.
try:
from .quic_server import QuicChunkServer, Denylist
from .quic_client import QuicChunkClient
@@ -15,7 +14,17 @@ except ImportError:
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",
]