aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transport/__init__.py
blob: 5a1b8d7e1c5dfcd740912484ac5bfff7735e51f1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""MeshBay Node transport layer — TCP+TLS (MNP v1) and QUIC (MNP v2)."""
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
    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

__all__ = [
    "ChunkServer", "ChunkClient", "create_http_app",
    "QuicChunkServer", "QuicChunkClient", "Denylist", "QUIC_AVAILABLE",
]