From aee9167e90e263070804f084a7611fa07956cd7e Mon Sep 17 00:00:00 2001 From: gomaja Date: Tue, 21 Apr 2026 20:08:22 +0100 Subject: [PATCH] feat: add NoDelay option with set and get methods for SCTPConn --- sctp.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sctp.go b/sctp.go index 7b0b68e..fb5b7c1 100644 --- a/sctp.go +++ b/sctp.go @@ -575,6 +575,24 @@ func (c *SCTPConn) GetDefaultSentParam() (*SndRcvInfo, error) { return info, err } +func (c *SCTPConn) SetNoDelay(optval int) error { + optlen := unsafe.Sizeof(optval) + _, _, err := setsockopt(c.fd(), SCTP_NODELAY, uintptr(unsafe.Pointer(&optval)), optlen) + return err +} + +func (c *SCTPConn) GetNoDelay() (int, error) { + optval := 0 + optlen := unsafe.Sizeof(optval) + _, _, err := getsockopt( + c.fd(), + SCTP_NODELAY, + uintptr(unsafe.Pointer(&optval)), + uintptr(unsafe.Pointer(&optlen)), + ) + return optval, err +} + func (c *SCTPConn) SetSackTimer(timer *SackTimer) error { // SackTimer optlen := unsafe.Sizeof(*timer) _, _, err := setsockopt(c.fd(), SCTP_DELAYED_SACK, uintptr(unsafe.Pointer(timer)), optlen)