Versions in this module Expand all Collapse all v1 v1.3.13 May 10, 2023 Changes in this version + const DefaultMaxConnReadTimesPerEventLoop + const DefaultMaxWriteBufferSize + const DefaultReadBufferSize + const DefaultUDPReadTimeout + const EPOLLET — darwin/amd64, linux/amd64, windows/amd64 + const EPOLLLT — darwin/amd64, linux/amd64, windows/amd64 + const IPPROTO_TCP — darwin/amd64, linux/amd64 + const TCP_KEEPIDLE — darwin/amd64, linux/amd64 + const TCP_KEEPINTVL — darwin/amd64, linux/amd64 + var MaxOpenFiles = 1024 * 1024 * 2 + type Config struct + Addrs []string + EpollMod uint32 + Listen func(network, addr string) (net.Listener, error) + ListenUDP func(network string, laddr *net.UDPAddr) (*net.UDPConn, error) + LockListener bool + LockPoller bool + MaxConnReadTimesPerEventLoop int + MaxWriteBufferSize int + NPoller int + Name string + Network string + ReadBufferSize int + TimerExecute func(f func()) + UDPReadTimeout time.Duration + type Conn struct — darwin/amd64, linux/amd64, windows/amd64 + DataHandler func(c *Conn, data []byte) + ReadBuffer []byte + func Dial(network string, address string) (*Conn, error) + func DialTimeout(network string, address string, timeout time.Duration) (*Conn, error) + func NBConn(conn net.Conn) (*Conn, error) + func (c *Conn) Close() error + func (c *Conn) CloseWithError(err error) error + func (c *Conn) Execute(f func()) bool + func (c *Conn) ExecuteLen() int + func (c *Conn) Hash() int + func (c *Conn) IsClosed() (bool, error) + func (c *Conn) IsTCP() bool + func (c *Conn) IsUDP() bool + func (c *Conn) IsUnix() bool + func (c *Conn) LocalAddr() net.Addr + func (c *Conn) Lock() + func (c *Conn) MustExecute(f func()) + func (c *Conn) OnData(h func(conn *Conn, data []byte)) + func (c *Conn) Read(b []byte) (int, error) + func (c *Conn) ReadAndGetConn(b []byte) (*Conn, int, error) + func (c *Conn) ReadUDP(b []byte) (*Conn, int, error) + func (c *Conn) RemoteAddr() net.Addr + func (c *Conn) Sendfile(f *os.File, remain int64) (int64, error) + func (c *Conn) Sendfile(f *os.File, remain int64) (written int64, err error) + func (c *Conn) Session() interface{} + func (c *Conn) SetDeadline(t time.Time) error + func (c *Conn) SetKeepAlive(keepalive bool) error + func (c *Conn) SetKeepAlivePeriod(d time.Duration) error + func (c *Conn) SetLinger(onoff int32, linger int32) error + func (c *Conn) SetNoDelay(nodelay bool) error + func (c *Conn) SetReadBuffer(bytes int) error + func (c *Conn) SetReadDeadline(t time.Time) error + func (c *Conn) SetSession(session interface{}) + func (c *Conn) SetWriteBuffer(bytes int) error + func (c *Conn) SetWriteDeadline(t time.Time) error + func (c *Conn) Type() ConnType + func (c *Conn) Unlock() + func (c *Conn) Write(b []byte) (int, error) + func (c *Conn) Writev(in [][]byte) (int, error) + type ConnType = int8 + const ConnTypeTCP + const ConnTypeUDPClientFromDial + const ConnTypeUDPClientFromRead + const ConnTypeUDPServer + const ConnTypeUnix + type Engine struct + Execute func(f func()) + Name string + TimerExecute func(f func()) + func NewEngine(conf Config) *Engine + func (g *Engine) AddConn(conn net.Conn) (*Conn, error) + func (g *Engine) AfterRead(h func(c *Conn)) + func (g *Engine) BeforeRead(h func(c *Conn)) + func (g *Engine) BeforeWrite(h func(c *Conn)) + func (g *Engine) OnClose(h func(c *Conn, err error)) + func (g *Engine) OnData(h func(c *Conn, data []byte)) + func (g *Engine) OnOpen(h func(c *Conn)) + func (g *Engine) OnRead(h func(c *Conn)) + func (g *Engine) OnReadBufferAlloc(h func(c *Conn) []byte) + func (g *Engine) OnReadBufferFree(h func(c *Conn, b []byte)) + func (g *Engine) OnStop(h func()) + func (g *Engine) PollerBuffer(c *Conn) []byte + func (g *Engine) Shutdown(ctx context.Context) error + func (g *Engine) Start() error + func (g *Engine) Stop() + type Gopher = Engine + func NewGopher(conf Config) *Gopher