Versions in this module Expand all Collapse all v0 v0.5.1 Jun 23, 2025 v0.5.0 Jun 23, 2025 Changes in this version + const DefaultRespQueueSize + var ErrServerStopped = fmt.Errorf("server stopped") + func SetLogger(lg Logger) + type Codec interface + Decode func(data []byte, v interface{}) error + Encode func(v interface{}) ([]byte, error) + type Context interface + Abort func() + Aborted func() bool + Bind func(v any) error + Copy func() Context + Get func(key string) (value interface{}, exists bool) + MustSetRequest func(id, data any) Context + MustSetResponse func(id, data any) Context + Remove func(key string) + Request func() *Message + Response func() *Message + Send func() bool + SendTo func(session Session) bool + Session func() Session + Set func(key string, value interface{}) + SetRequest func(id, data any) error + SetRequestMessage func(msg *Message) Context + SetResponse func(id, data any) error + SetResponseMessage func(msg *Message) Context + SetSession func(sess Session) Context + WithContext func(ctx context.Context) Context + type DefaultLogger struct + func (d *DefaultLogger) Errorf(format string, args ...interface{}) + func (d *DefaultLogger) Tracef(format string, args ...interface{}) + type DefaultPacker struct + MaxDataSize int + func NewDefaultPacker() *DefaultPacker + func (d *DefaultPacker) Pack(msg *Message) ([]byte, error) + func (d *DefaultPacker) Unpack(reader io.Reader) (*Message, error) + type HandlerFunc func(ctx Context) + type JsonCodec struct + func (c *JsonCodec) Decode(data []byte, v interface{}) error + func (c *JsonCodec) Encode(v interface{}) ([]byte, error) + type Logger interface + Errorf func(format string, args ...any) + Tracef func(format string, args ...any) + func Log() Logger + type Message struct + func NewMessage(id interface{}, data []byte) *Message + func (m *Message) Data() []byte + func (m *Message) Get(key string) (value interface{}, exists bool) + func (m *Message) ID() interface{} + func (m *Message) MustGet(key string) interface{} + func (m *Message) Remove(key string) + func (m *Message) Set(key string, value interface{}) + type MiddlewareFunc func(next HandlerFunc) HandlerFunc + type MockPacker struct + func NewMockPacker(ctrl *gomock.Controller) *MockPacker + func (m *MockPacker) EXPECT() *MockPackerMockRecorder + func (m *MockPacker) Pack(arg0 *Message) ([]byte, error) + func (m *MockPacker) Unpack(arg0 io.Reader) (*Message, error) + type MockPackerMockRecorder struct + func (mr *MockPackerMockRecorder) Pack(arg0 interface{}) *gomock.Call + func (mr *MockPackerMockRecorder) Unpack(arg0 interface{}) *gomock.Call + type Packer interface + Pack func(msg *Message) ([]byte, error) + Unpack func(reader io.Reader) (*Message, error) + type ProtobufCodec struct + func (p *ProtobufCodec) Decode(data []byte, v interface{}) error + func (p *ProtobufCodec) Encode(v interface{}) ([]byte, error) + type Router struct + type Server struct + Codec Codec + Listener net.Listener + OnSessionClose func(sess Session) + OnSessionCreate func(sess Session) + Packer Packer + func NewServer(opt *ServerOption) *Server + func (s *Server) AddRoute(msgID interface{}, handler HandlerFunc, middlewares ...MiddlewareFunc) + func (s *Server) NotFoundHandler(handler HandlerFunc) + func (s *Server) Run(addr string) error + func (s *Server) RunTLS(addr string, config *tls.Config) error + func (s *Server) Serve(lis net.Listener) error + func (s *Server) Stop() error + func (s *Server) Use(middlewares ...MiddlewareFunc) + type ServerOption struct + AsyncRouter bool + Codec Codec + DoNotPrintRoutes bool + Packer Packer + ReadTimeout time.Duration + RespQueueSize int + SocketReadBufferSize int + SocketSendDelay bool + SocketWriteBufferSize int + WriteTimeout time.Duration + type Session interface + AfterCloseHook func() <-chan struct{} + AfterCreateHook func() <-chan struct{} + AllocateContext func() Context + Close func() + Codec func() Codec + Conn func() net.Conn + ID func() interface{} + Send func(ctx Context) bool + SetID func(id interface{})