Documentation
¶
Index ¶
- Variables
- func IsGobTypeRegistered[MessageType any]() (registered bool)
- func RegisterGobType[MessageType any](sample MessageType) (err error)
- type Client
- func (client *Client) Close() (err error)
- func (client *Client) Connect() (err error)
- func (client *Client) LocalAddr() (addr net.Addr)
- func (client *Client) Metadata() (metadata map[string]any)
- func (client *Client) OnClose(handler CloseHandler)
- func (client *Client) OnError(handler ErrorHandler)
- func (client *Client) OnMessage(handler MessageHandler)
- func (client *Client) RemoteAddr() (addr net.Addr)
- func (client *Client) Send(message []byte) (err error)
- func (client *Client) Use(middleware ...Middleware)
- type ClientConfig
- type ClientHandler
- type CloseHandler
- type ErrorHandler
- type GobClient
- func (client *GobClient[MessageType]) Connect() (err error)
- func (client *GobClient[MessageType]) OnMessage(handler GobMessageHandler[MessageType])
- func (client *GobClient[MessageType]) Send(message MessageType) (err error)
- func (client *GobClient[MessageType]) Use(middleware ...GobMiddleware[MessageType])
- type GobClientHandler
- type GobMessageContext
- type GobMessageHandler
- type GobMiddleware
- type GobNext
- type GobServer
- type GobServerClient
- type MessageContext
- type MessageHandler
- type Middleware
- type Next
- type Protocol
- type Server
- type ServerClient
- type ServerConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrProtocolUnsupported error = errors.New("arctic: protocol is not supported") ErrClientNotConnected error = errors.New("arctic: client is not connected") ErrServerAlreadyListening error = errors.New("arctic: server is already listening") ErrMessageTooLarge error = errors.New("arctic: message exceeds configured buffer size") ErrMetadataInvalid error = errors.New("arctic: metadata is invalid") ErrGobTypeInvalid error = errors.New("arctic: gob message type must be a struct") ErrGobTypeNotRegistered error = errors.New("arctic: gob message type is not registered") ErrGobTypeRegistrationFailed error = errors.New("arctic: gob message type registration failed") )
Functions ¶
func IsGobTypeRegistered ¶
func RegisterGobType ¶
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(config ClientConfig) (client *Client, err error)
func (*Client) OnClose ¶
func (client *Client) OnClose(handler CloseHandler)
func (*Client) OnError ¶
func (client *Client) OnError(handler ErrorHandler)
func (*Client) OnMessage ¶
func (client *Client) OnMessage(handler MessageHandler)
func (*Client) RemoteAddr ¶
func (*Client) Use ¶
func (client *Client) Use(middleware ...Middleware)
type ClientConfig ¶
type ClientHandler ¶
type ClientHandler func(*ServerClient)
type CloseHandler ¶
type CloseHandler func()
type ErrorHandler ¶
type ErrorHandler func(error)
type GobClient ¶
func NewGobClient ¶
func NewGobClient[MessageType any](config ClientConfig) (client *GobClient[MessageType], err error)
func (*GobClient[MessageType]) Connect ¶
func (client *GobClient[MessageType]) Connect() (err error)
func (*GobClient[MessageType]) OnMessage ¶
func (client *GobClient[MessageType]) OnMessage(handler GobMessageHandler[MessageType])
type GobClientHandler ¶
type GobClientHandler[MessageType any] func(*GobServerClient[MessageType])
type GobMessageContext ¶
type GobMessageContext[MessageType any] struct { Client *GobClient[MessageType] Message MessageType }
type GobMessageHandler ¶
type GobMessageHandler[MessageType any] func(MessageType)
type GobMiddleware ¶
type GobServer ¶
func NewGobServer ¶
func NewGobServer[MessageType any](config ServerConfig) (server *GobServer[MessageType], err error)
type GobServerClient ¶
type MessageContext ¶
type MessageHandler ¶
type MessageHandler func([]byte)
type Middleware ¶
type Middleware func(*MessageContext, Next) error
type Next ¶
type Next func(*MessageContext) error
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(config ServerConfig) (server *Server, err error)
func (*Server) OnClient ¶
func (server *Server) OnClient(handler ClientHandler)
func (*Server) OnClose ¶
func (server *Server) OnClose(handler CloseHandler)
func (*Server) OnError ¶
func (server *Server) OnError(handler ErrorHandler)
type ServerClient ¶
type ServerClient struct {
*Client
// contains filtered or unexported fields
}
func (*ServerClient) ID ¶
func (serverClient *ServerClient) ID() (id int)
Source Files
¶
Click to show internal directories.
Click to hide internal directories.