Documentation
¶
Index ¶
- type Conn
- func (c *Conn) Close(code websocket.StatusCode, reason string) error
- func (c *Conn) GetLastSeen() time.Time
- func (c *Conn) GetMetadata(key string) (interface{}, bool)
- func (c *Conn) IsClosed() bool
- func (c *Conn) SetMetadata(key string, value interface{})
- func (c *Conn) StartHeartbeat(ctx context.Context, config *HeartbeatConfig)
- func (c *Conn) UpdateLastSeen()
- func (c *Conn) Write(ctx context.Context, msgType websocket.MessageType, data []byte) error
- type ConnManager
- func (m *ConnManager) Add(conn *Conn)
- func (m *ConnManager) Broadcast(ctx context.Context, msgType websocket.MessageType, data []byte) error
- func (m *ConnManager) CloseAll(code websocket.StatusCode, reason string)
- func (m *ConnManager) Count() int
- func (m *ConnManager) Get(id string) (*Conn, bool)
- func (m *ConnManager) GetAll() []*Conn
- func (m *ConnManager) GetByGroup(group string) []*Conn
- func (m *ConnManager) Remove(id string)
- func (m *ConnManager) SendTo(ctx context.Context, connID string, msgType websocket.MessageType, data []byte) error
- func (m *ConnManager) SendToGroup(ctx context.Context, group string, msgType websocket.MessageType, data []byte) error
- type DefaultHandler
- func (h *DefaultHandler) Manager() *ConnManager
- func (h *DefaultHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (h *DefaultHandler) SetHeartbeatConfig(config *HeartbeatConfig)
- func (h *DefaultHandler) SetOnConnect(fn func(*Conn))
- func (h *DefaultHandler) SetOnDisconnect(fn func(*Conn))
- func (h *DefaultHandler) SetOnError(fn func(*Conn, error))
- func (h *DefaultHandler) SetOnMessage(fn func(*Conn, *Message))
- type Handler
- type Heartbeat
- type HeartbeatConfig
- type Hooks
- type Message
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Conn ¶
func (*Conn) GetLastSeen ¶
func (*Conn) GetMetadata ¶
func (*Conn) SetMetadata ¶
func (*Conn) StartHeartbeat ¶
func (c *Conn) StartHeartbeat(ctx context.Context, config *HeartbeatConfig)
func (*Conn) UpdateLastSeen ¶
func (c *Conn) UpdateLastSeen()
type ConnManager ¶
type ConnManager struct {
// contains filtered or unexported fields
}
func NewConnManager ¶
func NewConnManager() *ConnManager
func (*ConnManager) Add ¶
func (m *ConnManager) Add(conn *Conn)
func (*ConnManager) Broadcast ¶
func (m *ConnManager) Broadcast(ctx context.Context, msgType websocket.MessageType, data []byte) error
func (*ConnManager) CloseAll ¶
func (m *ConnManager) CloseAll(code websocket.StatusCode, reason string)
func (*ConnManager) Count ¶
func (m *ConnManager) Count() int
func (*ConnManager) GetAll ¶
func (m *ConnManager) GetAll() []*Conn
func (*ConnManager) GetByGroup ¶
func (m *ConnManager) GetByGroup(group string) []*Conn
func (*ConnManager) Remove ¶
func (m *ConnManager) Remove(id string)
func (*ConnManager) SendTo ¶
func (m *ConnManager) SendTo(ctx context.Context, connID string, msgType websocket.MessageType, data []byte) error
func (*ConnManager) SendToGroup ¶
func (m *ConnManager) SendToGroup(ctx context.Context, group string, msgType websocket.MessageType, data []byte) error
type DefaultHandler ¶
type DefaultHandler struct {
ID string
// contains filtered or unexported fields
}
func (*DefaultHandler) Manager ¶
func (h *DefaultHandler) Manager() *ConnManager
func (*DefaultHandler) ServeHTTP ¶
func (h *DefaultHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*DefaultHandler) SetHeartbeatConfig ¶
func (h *DefaultHandler) SetHeartbeatConfig(config *HeartbeatConfig)
func (*DefaultHandler) SetOnConnect ¶
func (h *DefaultHandler) SetOnConnect(fn func(*Conn))
func (*DefaultHandler) SetOnDisconnect ¶
func (h *DefaultHandler) SetOnDisconnect(fn func(*Conn))
func (*DefaultHandler) SetOnError ¶
func (h *DefaultHandler) SetOnError(fn func(*Conn, error))
func (*DefaultHandler) SetOnMessage ¶
func (h *DefaultHandler) SetOnMessage(fn func(*Conn, *Message))
type Handler ¶
type Handler interface {
http.Handler
SetOnConnect(func(*Conn))
SetOnDisconnect(func(*Conn))
SetOnMessage(func(*Conn, *Message))
SetOnError(func(*Conn, error))
SetHeartbeatConfig(*HeartbeatConfig)
Manager() *ConnManager
}
func NewDefaultHandler ¶
func NewDefaultHandler(opts *websocket.AcceptOptions) Handler
type Heartbeat ¶
type Heartbeat struct {
// contains filtered or unexported fields
}
func NewHeartbeat ¶
func NewHeartbeat(conn *Conn, config *HeartbeatConfig) *Heartbeat
func (*Heartbeat) MissedCount ¶
type HeartbeatConfig ¶
func DefaultHeartbeatConfig ¶
func DefaultHeartbeatConfig() *HeartbeatConfig
type Message ¶
type Message struct {
ID string `json:"id"`
Type websocket.MessageType `json:"type"`
Data []byte `json:"data"`
Timestamp time.Time `json:"timestamp"`
}
func NewMessage ¶
func NewMessage(id string, msgType websocket.MessageType, data []byte) *Message
Click to show internal directories.
Click to hide internal directories.