link

package module
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 5 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SessionBlockedError = errors.New("session blocked")
	SessionClosedError  = errors.New("session closed")
)

Functions

This section is empty.

Types

type Codec

type Codec interface {
	Send(msg interface{}) error
	Receive() (interface{}, error)
	Close() error
}

type Handler

type Handler interface {
	HandleSession(session *Session)
}

type HandlerFunc

type HandlerFunc func(session *Session)

func (HandlerFunc) HandleSession added in v0.0.3

func (f HandlerFunc) HandleSession(session *Session)

type Manager

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

func NewManager

func NewManager() *Manager

NewManager 创建管理器并初始化多片sessions

func (*Manager) Dispose

func (manager *Manager) Dispose()

Dispose 关闭全部session

func (*Manager) GetSession

func (manager *Manager) GetSession(sessionID uint64) *Session

GetSession 根据sessionID返回session

func (*Manager) NewSession

func (manager *Manager) NewSession(codec Codec, sendChanSize int) *Session

NewSession 创建新session

type Protocol

type Protocol interface {
	NewCodec(writer io.ReadWriter) (Codec, error)
}

type Server

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

func NewServer

func NewServer(listener net.Listener, protocol Protocol, sendChanSize int, handler Handler) *Server

func (*Server) GetSession

func (server *Server) GetSession(sessionID uint64) *Session

func (*Server) Serve

func (server *Server) Serve() error

func (*Server) Stop

func (server *Server) Stop()

type Session

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

func NewSession

func NewSession(codec Codec, sendChanSize int) *Session

func (*Session) AddCloseCallback added in v0.0.2

func (session *Session) AddCloseCallback(handler, key interface{}, callback func())

AddCloseCallback 添加关闭回调函数

func (*Session) Close

func (session *Session) Close() error

Close 关闭session

func (*Session) Codec

func (session *Session) Codec() Codec

Codec 返回编解码器

func (*Session) ID

func (session *Session) ID() uint64

ID 返回sessionID

func (*Session) IsClosed

func (session *Session) IsClosed() bool

IsClosed 返回session是否关闭

func (*Session) Receive

func (session *Session) Receive() (interface{}, error)

Receive 接收消息

func (*Session) RemoveCloseCallback added in v0.0.2

func (session *Session) RemoveCloseCallback(handler, key interface{})

RemoveCloseCallback 移除关闭回调函数

func (*Session) Send

func (session *Session) Send(msg interface{}) error

Send 发送消息

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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