Documentation
¶
Index ¶
- Variables
- func Broadcast(msg any) error
- func CallConnect(sender *websocket.Conn)
- func CallDisconnect(sender *websocket.Conn, err error)
- func CallError(sender *websocket.Conn, err error)
- func CallProcessMessage(sender *websocket.Conn, msg []byte) error
- func GetId(conn *websocket.Conn) string
- func On[T any](callback func(sender *NetworkClient, message T))
- func OnConnect(callback func(sender *NetworkClient))
- func OnDisconnect(callback func(sender *NetworkClient, err error))
- func OnError(callback func(sender *NetworkClient, err error))
- func ProcessMessage(sender *NetworkClient, msg []byte) error
- func ResetRouter()
- func Serialize(msg any) ([]byte, error)
- type NetworkClient
Constants ¶
This section is empty.
Variables ¶
var ( ErrCallbackNotRegistered = errors.New("callback type not registered") ErrMessageNotRegistered = errors.New("message type is not registered") )
Functions ¶
func CallConnect ¶
func CallDisconnect ¶
func On ¶
func On[T any](callback func(sender *NetworkClient, message T))
On adds a callback to be called whenever the specified message type T is received. Note: sender will be nil in client callbacks. This can return an error if the type id is reserved or already in use.
func OnConnect ¶
func OnConnect(callback func(sender *NetworkClient))
OnConnect adds a callback to call whenever a session connects to the server. Note: sender will be nil in client callbacks.
func OnDisconnect ¶
func OnDisconnect(callback func(sender *NetworkClient, err error))
OnDisconnect adds a callback to call whenever a session disconnects from the server. Note: sender will be nil in client callbacks.
func OnError ¶
func OnError(callback func(sender *NetworkClient, err error))
OnError adds a callback to call whenever a message error occurs. Note: sender will be nil in client callbacks.
func ProcessMessage ¶
func ProcessMessage(sender *NetworkClient, msg []byte) error
ProcessMessage deserializes a byte message and calls its registered callbacks.
func ResetRouter ¶
func ResetRouter()
Types ¶
type NetworkClient ¶
func Client ¶
func Client(conn *websocket.Conn) *NetworkClient
func NewNetworkClient ¶
func NewNetworkClient(ctx context.Context, underlying *websocket.Conn) *NetworkClient
func Peers ¶
func Peers() []*NetworkClient
Peers returns a new slice of NetworkClient pointers from the underlying map. Use PeerMap if you are able to as this avoids this kind of duplication.
func (*NetworkClient) Id ¶
func (c *NetworkClient) Id() string
func (*NetworkClient) SendMessage ¶
func (c *NetworkClient) SendMessage(msg any) error
func (*NetworkClient) SendMessageBytes ¶
func (c *NetworkClient) SendMessageBytes(msgBytes []byte) error