mirror of
https://github.com/aler9/gortsplib
synced 2025-12-24 13:38:08 +08:00
30 lines
476 B
Go
30 lines
476 B
Go
//go:build windows
|
|
|
|
package readbuffer
|
|
|
|
import "syscall"
|
|
|
|
// ReadBuffer returns the read buffer size.
|
|
func ReadBuffer(pc PacketConn) (int, error) {
|
|
rawConn, err := pc.SyscallConn()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
var v int
|
|
var err2 error
|
|
|
|
err = rawConn.Control(func(fd uintptr) {
|
|
v, err2 = syscall.GetsockoptInt(syscall.Handle(fd), syscall.SOL_SOCKET, syscall.SO_RCVBUF)
|
|
})
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
if err2 != nil {
|
|
return 0, err2
|
|
}
|
|
|
|
return v, nil
|
|
}
|