Accept4Func is used to hook the accept4 call.
var Accept4Func func(int, int) (int, syscall.Sockaddr, error) = syscall.Accept4
AcceptFunc is used to hook the accept call.
var AcceptFunc func(int) (int, syscall.Sockaddr, error) = syscall.Accept
CloseFunc is used to hook the close call.
var CloseFunc func(int) error = syscall.Close
ErrFileClosing is returned when a file descriptor is used after it has been closed.
var ErrFileClosing = errors.New("use of closed file")
ErrNetClosing is returned when a network descriptor is used after it has been closed. Keep this string consistent because of issue #4373: since historically programs have not been able to detect this error, they look for the string.
var ErrNetClosing = errors.New("use of closed network connection")
ErrNoDeadline is returned when a request is made to set a deadline on a file type that does not use the poller.
var ErrNoDeadline = errors.New("file type does not support deadline")
ErrTimeout is returned for an expired deadline.
var ErrTimeout error = &TimeoutError{}
TestHookDidWritev is a hook for testing writev.
var TestHookDidWritev = func(wrote int) {}
func PollDescriptor() uintptr
PollDescriptor returns the descriptor being used by the poller, or ^uintptr(0) if there isn't one. This is only used for testing.
func SendFile(dstFD *FD, src int, remain int64) (int64, error)
SendFile wraps the sendfile system call.
FD is a file descriptor. The net and os packages use this type as a field of a larger type representing a network connection or OS file.
type FD struct { // System file descriptor. Immutable until Close. Sysfd int // Whether this is a streaming descriptor, as opposed to a // packet-based descriptor like a UDP socket. Immutable. IsStream bool // Whether a zero byte read indicates EOF. This is false for a // message based socket connection. ZeroReadIsEOF bool // contains filtered or unexported fields }
func (fd *FD) Accept() (int, syscall.Sockaddr, string, error)
Accept wraps the accept network call.
func (fd *FD) Close() error
Close closes the FD. The underlying file descriptor is closed by the destroy method when there are no remaining references.
func (fd *FD) Fchdir() error
Fchdir wraps syscall.Fchdir.
func (fd *FD) Fchmod(mode uint32) error
Fchmod wraps syscall.Fchmod.
func (fd *FD) Fchown(uid, gid int) error
Fchown wraps syscall.Fchown.
func (fd *FD) Fstat(s *syscall.Stat_t) error
Fstat wraps syscall.Fstat
func (fd *FD) Fsync() error
Fsync wraps syscall.Fsync.
func (fd *FD) Ftruncate(size int64) error
Ftruncate wraps syscall.Ftruncate.
func (fd *FD) Init(net string, pollable bool) error
Init initializes the FD. The Sysfd field should already be set. This can be called multiple times on a single FD. The net argument is a network name from the net package (e.g., "tcp"), or "file". Set pollable to true if fd should be managed by runtime netpoll.
func (fd *FD) Pread(p []byte, off int64) (int, error)
Pread wraps the pread system call.
func (fd *FD) Pwrite(p []byte, off int64) (int, error)
Pwrite wraps the pwrite system call.
func (fd *FD) RawControl(f func(uintptr)) error
RawControl invokes the user-defined function f for a non-IO operation.
func (fd *FD) RawRead(f func(uintptr) bool) error
RawRead invokes the user-defined function f for a read operation.
func (fd *FD) RawWrite(f func(uintptr) bool) error
RawWrite invokes the user-defined function f for a write operation.
func (fd *FD) Read(p []byte) (int, error)
Read implements io.Reader.
func (fd *FD) ReadDirent(buf []byte) (int, error)
ReadDirent wraps syscall.ReadDirent. We treat this like an ordinary system call rather than a call that tries to fill the buffer.
func (fd *FD) ReadFrom(p []byte) (int, syscall.Sockaddr, error)
ReadFrom wraps the recvfrom network call.
func (fd *FD) ReadMsg(p []byte, oob []byte) (int, int, int, syscall.Sockaddr, error)
ReadMsg wraps the recvmsg network call.
func (fd *FD) Seek(offset int64, whence int) (int64, error)
Seek wraps syscall.Seek.
func (fd *FD) SetBlocking() error
SetBlocking puts the file into blocking mode.
func (fd *FD) SetDeadline(t time.Time) error
SetDeadline sets the read and write deadlines associated with fd.
func (fd *FD) SetReadDeadline(t time.Time) error
SetReadDeadline sets the read deadline associated with fd.
func (fd *FD) SetWriteDeadline(t time.Time) error
SetWriteDeadline sets the write deadline associated with fd.
func (fd *FD) SetsockoptByte(level, name int, arg byte) error
SetsockoptByte wraps the setsockopt network call with a byte argument.
func (fd *FD) SetsockoptIPMreq(level, name int, mreq *syscall.IPMreq) error
SetsockoptIPMreq wraps the setsockopt network call with an IPMreq argument.
func (fd *FD) SetsockoptIPMreqn(level, name int, mreq *syscall.IPMreqn) error
SetsockoptIPMreqn wraps the setsockopt network call with an IPMreqn argument.
func (fd *FD) SetsockoptIPv6Mreq(level, name int, mreq *syscall.IPv6Mreq) error
SetsockoptIPv6Mreq wraps the setsockopt network call with an IPv6Mreq argument.
func (fd *FD) SetsockoptInet4Addr(level, name int, arg [4]byte) error
SetsockoptInet4Addr wraps the setsockopt network call with an IPv4 address.
func (fd *FD) SetsockoptInt(level, name, arg int) error
SetsockoptInt wraps the setsockopt network call with an int argument.
func (fd *FD) SetsockoptLinger(level, name int, l *syscall.Linger) error
SetsockoptLinger wraps the setsockopt network call with a Linger argument.
func (fd *FD) Shutdown(how int) error
Shutdown wraps the shutdown network call.
func (fd *FD) WaitWrite() error
WaitWrite waits until data can be read from fd.
func (fd *FD) Write(p []byte) (int, error)
Write implements io.Writer.
func (fd *FD) WriteMsg(p []byte, oob []byte, sa syscall.Sockaddr) (int, int, error)
WriteMsg wraps the sendmsg network call.
func (fd *FD) WriteOnce(p []byte) (int, error)
WriteOnce is for testing only. It makes a single write call.
func (fd *FD) WriteTo(p []byte, sa syscall.Sockaddr) (int, error)
WriteTo wraps the sendto network call.
func (fd *FD) Writev(v *[][]byte) (int64, error)
Writev wraps the writev system call.
TimeoutError is returned for an expired deadline.
type TimeoutError struct{}
func (e *TimeoutError) Error() string
Implement the net.Error interface.
func (e *TimeoutError) Temporary() bool
func (e *TimeoutError) Timeout() bool