epoll

package
v0.17.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrFlushed = errors.New("data was flushed")
)

Functions

This section is empty.

Types

type Poller

type Poller struct {
	// contains filtered or unexported fields
}

Poller waits for readiness notifications from multiple file descriptors.

The wait can be interrupted by calling Close.

func New

func New() (_ *Poller, err error)

func (*Poller) Add

func (p *Poller) Add(fd int, id int) error

Add an fd to the poller.

id is returned by Wait in the unix.EpollEvent.Pad field any may be zero. It must not exceed math.MaxInt32.

Add is blocked by Wait.

func (*Poller) Close

func (p *Poller) Close() error

Close the poller.

Interrupts any calls to Wait. Multiple calls to Close are valid, but subsequent calls will return os.ErrClosed.

func (*Poller) Flush added in v0.16.0

func (p *Poller) Flush() error

Flush unblocks Wait if it's epoll_wait, for purposes of reading pending samples

func (*Poller) Wait

func (p *Poller) Wait(events []unix.EpollEvent, deadline time.Time) (int, error)

Wait for events.

Returns the number of pending events and any errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL