poll

package module
v0.0.0-...-dbc13f1 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2017 License: MIT Imports: 8 Imported by: 0

README

poll

High level interface for low level file descriptor polling

Documentation

Index

Constants

View Source
const (
	EPOLLIN      = unix.EPOLLIN
	EPOLLOUT     = unix.EPOLLOUT
	EPOLLRDHUP   = unix.EPOLLRDHUP
	EPOLLPRI     = unix.EPOLLPRI
	EPOLLERR     = unix.EPOLLERR
	EPOLLHUP     = unix.EPOLLHUP
	EPOLLET      = unix.EPOLLET
	EPOLLONESHOT = unix.EPOLLONESHOT
	EPOLLCLOSED  = 0X20
)

Variables

View Source
var (
	ErrClosed        = errors.New("poll: closed")
	ErrRegistered    = errors.New("poll: file descriptor already registered")
	ErrNotRegistered = errors.New("poll: file descriptor not registered")
	ErrNotFiler      = errors.New("poll: could not get file descriptor")
)

Functions

This section is empty.

Types

type Config

type Config struct {
	OnWaitError func(error)
}

Config contains the base poller configuration

type Descriptor

type Descriptor struct {
	*os.File
	Event
}

func Handle

func Handle(c net.Conn, events Event) (*Descriptor, error)

func HandleRead

func HandleRead(c net.Conn) (*Descriptor, error)

func HandleReadOnce

func HandleReadOnce(c net.Conn) (*Descriptor, error)

func HandleReadWrite

func HandleReadWrite(c net.Conn) (*Descriptor, error)

func HandleWrite

func HandleWrite(c net.Conn) (*Descriptor, error)

func HandleWriteOnce

func HandleWriteOnce(c net.Conn) (*Descriptor, error)

func NewDescriptor

func NewDescriptor(fd uintptr, ev Event) *Descriptor

type Event

type Event uint16

Event mask

const (
	EventRead Event = 1 << iota
	EventWrite
	EventOneShot
	EventEdgeTriggered
	EventHUP
	EventReadHUP
	EventWriteHUP
	EventError
	EventClosed Event = 0x8000
)

Event types

func (Event) String

func (event Event) String() string

type Poller

type Poller interface {
	Start(*Descriptor, func(Event)) error
	Stop(*Descriptor) error
	Resume(*Descriptor) error
}

Poller describes a poll capable interface

func New

func New(c *Config) (Poller, error)

Jump to

Keyboard shortcuts

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