package epoll

import "github.com/cilium/ebpf/internal/epoll"

Index

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, 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) Wait

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

Wait for events.

Returns the number of pending events or an error wrapping os.ErrClosed if Close is called, or os.ErrDeadlineExceeded if EpollWait timeout.

Source Files

poller.go

Version
v0.12.0
Published
Oct 11, 2023
Platform
js/wasm
Imports
8 packages
Last checked
3 seconds ago

Tools for package owners.