poller

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2019 License: MIT Imports: 3 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrClosed = errors.New("poller instance is not running")

ErrClosed 重复 close poller 错误

Functions

This section is empty.

Types

type Event

type Event uint32

Event poller 返回事件

const (
	EventRead  Event = 0x1
	EventWrite Event = 0x2
	EventErr   Event = 0x80
)

Event poller 返回事件值

type Poller

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

Poller Kqueue封装

func Create

func Create() (*Poller, error)

Create 创建Poller

func (*Poller) AddRead

func (p *Poller) AddRead(fd int) error

AddRead 注册fd到kqueue并注册可读事件

func (*Poller) Close

func (p *Poller) Close() (err error)

Close 关闭 kqueue

func (*Poller) Del

func (p *Poller) Del(fd int) error

Del 从kqueue删除fd

func (*Poller) EnableRead

func (p *Poller) EnableRead(fd int) error

EnableRead 修改fd注册事件为可读事件

func (*Poller) EnableReadWrite

func (p *Poller) EnableReadWrite(fd int) error

EnableReadWrite 修改fd注册事件为可读可写事件

func (*Poller) Poll

func (p *Poller) Poll(handler func(fd int, event Event))

Poll 启动 kqueue 循环

func (*Poller) Wake

func (p *Poller) Wake() error

Wake 唤醒 kqueue

Jump to

Keyboard shortcuts

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