eventloop

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventLoop

type EventLoop struct {
	Num int // 数量
	// contains filtered or unexported fields
}

func NewEventLoop

func NewEventLoop(num int) *EventLoop

func (*EventLoop) AddRead

func (e *EventLoop) AddRead(conn iface.IConnect) error

AddRead 添加读事件

func (*EventLoop) Init

func (e *EventLoop) Init(connectMgr iface.IConnectManager) error

Init 初始化poller

func (*EventLoop) Remove

func (e *EventLoop) Remove(conn iface.IConnect) error

Remove 删除某个连接

func (*EventLoop) Start

func (e *EventLoop) Start(emitCh chan<- iface.IContext)

Start 执行epoll_wait

func (*EventLoop) Stop

func (e *EventLoop) Stop()

Stop 关闭epoll

type Poller

type Poller struct {
	Epfd       int                   // eventpoll fd
	Events     []unix.EpollEvent     //
	ConnectMgr iface.IConnectManager //
}

func NewPoller

func NewPoller(connectMgr iface.IConnectManager) (*Poller, error)

NewPoller 创建epoll

func (*Poller) AddRead

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

AddRead 添加读事件

func (*Poller) AddWrite

func (p *Poller) AddWrite(fd, connID int) error

AddWrite 添加可写事件

func (*Poller) Close

func (p *Poller) Close() error

Close 关闭FD

func (*Poller) GetConnectMgr added in v0.0.4

func (p *Poller) GetConnectMgr() iface.IConnectManager

GetConnectMgr .

func (*Poller) ModRead added in v0.0.3

func (p *Poller) ModRead(fd, connID int) error

ModRead .

func (*Poller) ModWrite added in v0.0.3

func (p *Poller) ModWrite(fd, connID int) error

ModWrite .

func (*Poller) Remove

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

Remove 删除某个fd的事件

func (*Poller) Wait

func (p *Poller) Wait(emitCh chan<- iface.IContext)

Wait 等待消息到达,通过通道传递出去

Jump to

Keyboard shortcuts

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