Versions in this module Expand all Collapse all v1 v1.20.2 Sep 4, 2026 Changes in this version + type Device struct + Conn *websocket.Conn + CreatedAt time.Time + DeviceID string + LastPingTime time.Time + Session string + type DeviceManager struct + OnDeviceKicked func(userID int64, deviceID, session string, operator Operator) + OnDeviceOffline func(userID int64, deviceID, session string, createAt time.Time) + OnDeviceOnline func(userID int64, deviceID, session string) + OnMessage func(userID int64, deviceID, session string, message string) + func NewDeviceManager(heartbeatTimeout, checkInterval int) *DeviceManager + func (dm *DeviceManager) AddDevice(w http.ResponseWriter, r *http.Request, session string, userID int64, ...) + func (dm *DeviceManager) Broadcast(message string) + func (dm *DeviceManager) KickDevice(userID int64, deviceID string) + func (dm *DeviceManager) SendToDevice(userID int64, deviceID string, message string) error + func (dm *DeviceManager) Shutdown(ctx context.Context) + func (dm *DeviceManager) StartHeartbeatCheck() + func (dm *DeviceManager) UpdateHeartbeat(userID int64, deviceID string) + type Operator int + const Admin + const MaxDevices + const SubscribeUpdate