aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
index 0baaf19..1976ad4 100644
--- a/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
+++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc_server.py
@@ -42,6 +42,7 @@ from meshbay_node.indexer import GroupIndex
from meshbay_node.roots import (
RootSet,
)
+from meshbay_node.transport.webrtc import udp_buffer
from meshbay_node.transport.webrtc.admin import AdminMixin
from meshbay_node.transport.webrtc.admission import AdmissionMixin
from meshbay_node.transport.webrtc.apps.music import MusicMixin
@@ -152,6 +153,17 @@ class WebRTCTransport:
# Above one, the peer connections live in that many processes of their
# own and the sessions here speak to them (transport/webrtc/workers.py).
# At one, this process holds them itself and none is started.
+ got = udp_buffer.granted()
+ if got < udp_buffer.WANTED:
+ # Said once, with what to change: nothing else would tell an
+ # operator why uploads to this node stay around 6 MB/s.
+ log.warning(
+ "UDP receive buffer is %d KB per socket, below the %d KB an "
+ "upload needs to run at full speed; raise net.core.rmem_max "
+ "to %d to lift it", got // 1024, udp_buffer.WANTED // 1024,
+ udp_buffer.WANTED)
+ else:
+ log.info("UDP receive buffer: %d KB per socket", got // 1024)
self._workers = WorkerPool(
min(max(1, int(connection_processes or 1)), max_processes()),
self._stun, ice_interfaces)