Documentation ¶
Index ¶
- type Client
- type ClientObservableFunc
- type Manager
- func (wm *Manager) AssignGroups(connId uuid.UUID, groupIds ...uint16) error
- func (wm *Manager) BroadcastMessage(messageType int, message []byte)
- func (wm *Manager) GetWebSocketClient(clientUUID uuid.UUID) (*Client, error)
- func (wm *Manager) RegisterClientObserver(connId uuid.UUID, messageHandler ClientObservableFunc)
- func (wm *Manager) SendMessageToClient(clientId uuid.UUID, messageType int, message []byte) error
- func (wm *Manager) SendMessageToGroup(group uint16, messageType int, message []byte)
- func (wm *Manager) Unregister(connId uuid.UUID)
- func (wm *Manager) UpgradeClient(w http.ResponseWriter, r *http.Request) (*Client, error)
- type ManagerBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Conn *websocket.Conn ConnId *uuid.UUID Groups []uint16 IsAlive bool CancelFunc context.CancelFunc // contains filtered or unexported fields }
Client contains information about a websocket user
type ClientObservableFunc ¶
ClientObservableFunc is a function that will be called when a client sends a message
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is a websocket manager
func NewDefaultManager ¶
func NewDefaultManager() *Manager
NewDefaultManager Creates a new Manager with default values
func (*Manager) AssignGroups ¶
AssignGroups assigns a client to one or more groups
func (*Manager) BroadcastMessage ¶
BroadcastMessage sends a message to all connected clients
func (*Manager) GetWebSocketClient ¶
GetWebSocketClient returns a Client by UUID
func (*Manager) RegisterClientObserver ¶
func (wm *Manager) RegisterClientObserver(connId uuid.UUID, messageHandler ClientObservableFunc)
func (*Manager) SendMessageToClient ¶
SendMessageToClient sends a message to a specific user
func (*Manager) SendMessageToGroup ¶
SendMessageToGroup sends a message to all users in a group
func (*Manager) Unregister ¶
Unregister unregisters a client from the manager and marks it as not alive Further messages to and from this client are discarded
func (*Manager) UpgradeClient ¶ added in v0.2.0
UpgradeClient upgrades a client connection to a websocket connection It registers the client and returns a channel that will receive the Client or nil on error
type ManagerBuilder ¶
type ManagerBuilder struct {
// contains filtered or unexported fields
}
ManagerBuilder is a builder for the websocket manager
func NewBuilder ¶
func NewBuilder() *ManagerBuilder
func (*ManagerBuilder) Build ¶
func (b *ManagerBuilder) Build() *Manager
func (*ManagerBuilder) WithClientCleanupDisabled ¶
func (b *ManagerBuilder) WithClientCleanupDisabled() *ManagerBuilder
WithClientCleanupDisabled disables the periodic pinging of clients to check if they are still alive
func (*ManagerBuilder) WithReadBufferSize ¶
func (b *ManagerBuilder) WithReadBufferSize(size int) *ManagerBuilder
WithReadBufferSize is a builder for the websocket manager
func (*ManagerBuilder) WithWriteBufferSize ¶
func (b *ManagerBuilder) WithWriteBufferSize(size int) *ManagerBuilder
WithWriteBufferSize sets the write buffer size for the websocket