diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-03 16:20:23 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-03 16:20:28 +0200 |
| commit | 753653b4df62723b82d32799825135822886eac7 (patch) | |
| tree | 14829922bf343e6353093eaceaa84986fe5f84df /packages/meshbay-node/src/meshbay_node/transport/quic_server.py | |
| parent | 675beed6ff688733a9598f9d82d41578f48316be (diff) | |
| download | meshbay-753653b4df62723b82d32799825135822886eac7.tar.gz | |
refactor(node): platform abstraction for Windows portability (W1-W2-W5-W6-W7)
Platform directories, signal handling, chmod guards, ffmpeg discovery,
and platform-conditional CLI messages — all testable on Linux.
See docs/WINDOWS-PORT.md §5 for the plan these implement.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport/quic_server.py')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/transport/quic_server.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py index 6dde3ff..95fccf1 100644 --- a/packages/meshbay-node/src/meshbay_node/transport/quic_server.py +++ b/packages/meshbay-node/src/meshbay_node/transport/quic_server.py @@ -53,6 +53,7 @@ from meshbay_common.groupbox import PURPOSE_ACK, seal from meshbay_common.protocol import MNP, file_chunk_wire from meshbay_node.indexer import GroupIndex from meshbay_node.transport.wire import index_sync_message +from meshbay_node import platform log = logging.getLogger(__name__) @@ -545,7 +546,7 @@ def _extract_segment(file_path: Path, start_time: float, duration: float) -> byt """Extract one HLS segment via ffmpeg. Returns MPEG-TS bytes or None on failure.""" try: result = subprocess.run( - ["ffmpeg", "-hide_banner", "-loglevel", "error", + [platform.ffmpeg_cmd(), "-hide_banner", "-loglevel", "error", "-ss", str(start_time), "-i", str(file_path), "-t", str(duration), @@ -596,8 +597,9 @@ class QuicChunkServer: # Peer sets are per group now — see _MNPServerProtocol._peer_registry(). self._host = host self._port = port - self._cert_path = cert_path or Path.home() / ".config/meshbay/node_tls.crt" - self._key_path = key_path or Path.home() / ".config/meshbay/node_tls.key" + from meshbay_node.platform import config_dir + self._cert_path = cert_path or config_dir() / "node_tls.crt" + self._key_path = key_path or config_dir() / "node_tls.key" self._server = None self._task = None self._session_tickets: dict[bytes, Any] = {} |