Documentation ¶
Index ¶
- type Hook
- func (h *Hook) Debugf(m string, v ...interface{})
- func (h *Hook) Errorf(m string, v ...interface{})
- func (h *Hook) ID() string
- func (h *Hook) Infof(m string, v ...interface{})
- func (h *Hook) Init(config any) error
- func (h *Hook) OnClientExpired(cl *mqtt.Client)
- func (h *Hook) OnDisconnect(cl *mqtt.Client, _ error, expire bool)
- func (h *Hook) OnQosComplete(cl *mqtt.Client, pk packets.Packet)
- func (h *Hook) OnQosDropped(cl *mqtt.Client, pk packets.Packet)
- func (h *Hook) OnQosPublish(cl *mqtt.Client, pk packets.Packet, sent int64, resends int)
- func (h *Hook) OnRetainMessage(cl *mqtt.Client, pk packets.Packet, r int64)
- func (h *Hook) OnRetainedExpired(filter string)
- func (h *Hook) OnSessionEstablished(cl *mqtt.Client, pk packets.Packet)
- func (h *Hook) OnSubscribed(cl *mqtt.Client, pk packets.Packet, reasonCodes []byte)
- func (h *Hook) OnSysInfoTick(sys *system.Info)
- func (h *Hook) OnUnsubscribed(cl *mqtt.Client, pk packets.Packet)
- func (h *Hook) OnWillSent(cl *mqtt.Client, pk packets.Packet)
- func (h *Hook) Provides(b byte) bool
- func (h *Hook) Stop() error
- func (h *Hook) StoredClients() (v []storage.Client, err error)
- func (h *Hook) StoredInflightMessages() (v []storage.Message, err error)
- func (h *Hook) StoredRetainedMessages() (v []storage.Message, err error)
- func (h *Hook) StoredSubscriptions() (v []storage.Subscription, err error)
- func (h *Hook) StoredSysInfo() (v storage.SystemInfo, err error)
- func (h *Hook) Warningf(m string, v ...interface{})
- type Options
- type Serializable
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Hook ¶
Hook is a persistent storage hook based using BadgerDB file store as a backend.
func (*Hook) OnClientExpired ¶
OnClientExpired deleted expired clients from the store.
func (*Hook) OnDisconnect ¶
OnDisconnect removes a client from the store if their session has expired.
func (*Hook) OnQosComplete ¶
OnQosComplete removes a resolved inflight message from the store.
func (*Hook) OnQosDropped ¶
OnQosDropped removes a dropped inflight message from the store.
func (*Hook) OnQosPublish ¶
OnQosPublish adds or updates an inflight message in the store.
func (*Hook) OnRetainMessage ¶
OnRetainMessage adds a retained message for a topic to the store.
func (*Hook) OnRetainedExpired ¶
OnRetainedExpired deletes expired retained messages from the store.
func (*Hook) OnSessionEstablished ¶
OnSessionEstablished adds a client to the store when their session is established.
func (*Hook) OnSubscribed ¶
OnSubscribed adds one or more client subscriptions to the store.
func (*Hook) OnSysInfoTick ¶
OnSysInfoTick stores the latest system info in the store.
func (*Hook) OnUnsubscribed ¶
OnUnsubscribed removes one or more client subscriptions from the store.
func (*Hook) OnWillSent ¶
OnWillSent is called when a client sends a Will Message and the Will Message is removed from the client record.
func (*Hook) StoredClients ¶
StoredClients returns all stored clients from the store.
func (*Hook) StoredInflightMessages ¶
StoredInflightMessages returns all stored inflight messages from the store.
func (*Hook) StoredRetainedMessages ¶
StoredRetainedMessages returns all stored retained messages from the store.
func (*Hook) StoredSubscriptions ¶
func (h *Hook) StoredSubscriptions() (v []storage.Subscription, err error)
StoredSubscriptions returns all stored subscriptions from the store.
func (*Hook) StoredSysInfo ¶
func (h *Hook) StoredSysInfo() (v storage.SystemInfo, err error)
StoredSysInfo returns the system info from the store.
type Options ¶
type Options struct { Options *badgerdb.Options Path string `yaml:"path" json:"path"` // GcDiscardRatio specifies the ratio of log discard compared to the maximum possible log discard. // Setting it to a higher value would result in fewer space reclaims, while setting it to a lower value // would result in more space reclaims at the cost of increased activity on the LSM tree. // discardRatio must be in the range (0.0, 1.0), both endpoints excluded, otherwise, it will be set to the default value of 0.5. GcDiscardRatio float64 `yaml:"gc_discard_ratio" json:"gc_discard_ratio"` GcInterval int64 `yaml:"gc_interval" json:"gc_interval"` }
Options contains configuration settings for the BadgerDB instance.