Put SCTP Zero Checksum behind SettingEngine

Old versions of Pion break against it
This commit is contained in:
Sean DuBois
2024-03-18 09:33:27 -04:00
parent 39919d7ca1
commit de2e7b7e01
4 changed files with 12 additions and 4 deletions

View File

@@ -75,6 +75,7 @@ type SettingEngine struct {
}
sctp struct {
maxReceiveBufferSize uint32
enableZeroChecksum bool
}
sdpMediaLevelFingerprints bool
answeringDTLSRole DTLSRole
@@ -434,3 +435,10 @@ func (e *SettingEngine) SetDTLSKeyLogWriter(writer io.Writer) {
func (e *SettingEngine) SetSCTPMaxReceiveBufferSize(maxReceiveBufferSize uint32) {
e.sctp.maxReceiveBufferSize = maxReceiveBufferSize
}
// SetSCTPZeroChecksum enables the zero checksum feature in SCTP.
// This removes the need to checksum every incoming/outgoing packet and will reduce
// latency and CPU usage. This feature is not backwards compatible so is disabled by default
func (e *SettingEngine) EnableSCTPZeroChecksum(isEnabled bool) {
e.sctp.enableZeroChecksum = isEnabled
}