mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-06-06 12:29:44 +00:00
feat(provider): standardize datachannel message size limits and extract send delay
This commit is contained in:
@@ -17,6 +17,11 @@ import (
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
const (
|
||||
maxDataChannelMessageSize = 12288
|
||||
sendDelay = 2 * time.Millisecond
|
||||
)
|
||||
|
||||
type Peer struct {
|
||||
name string
|
||||
roomInfo *RoomInfo
|
||||
@@ -474,6 +479,11 @@ func (p *Peer) processSendQueue() {
|
||||
case <-p.closeCh:
|
||||
return
|
||||
case data := <-p.sendQueue:
|
||||
if len(data) > maxDataChannelMessageSize {
|
||||
logger.Debugf("[Jazz] Message too large: %d bytes (max %d)", len(data), maxDataChannelMessageSize)
|
||||
continue
|
||||
}
|
||||
|
||||
encoded := EncodeDataPacket(data)
|
||||
logger.Verbosef("[Jazz] Sending %d bytes (encoded to %d bytes)", len(data), len(encoded))
|
||||
|
||||
@@ -482,7 +492,7 @@ func (p *Peer) processSendQueue() {
|
||||
p.queueReconnect()
|
||||
return
|
||||
}
|
||||
time.Sleep(2 * time.Millisecond)
|
||||
time.Sleep(sendDelay)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
realDataChannelMessageLimit = 8192
|
||||
realDataChannelMessageLimit = 12288
|
||||
defaultSendDelayLow = 2 * time.Millisecond
|
||||
defaultSendDelayMax = 12 * time.Millisecond
|
||||
defaultTelemetryInterval = 20 * time.Second
|
||||
|
||||
Reference in New Issue
Block a user