Versions in this module Expand all Collapse all v0 v0.1.0 Aug 19, 2026 Changes in this version + const KindEvent + const KindKeepalive + const KindReplay + func NumericSpecOf(st discovery.NumericStorage) policy.NumericSpec + type Bucket interface + Add func(sub *Subscriber) + Len func() int + Push func(f Frame) + Remove func(sub *Subscriber) + Snapshot func() []*Subscriber + type Frame struct + Data []byte + Kind string + type Heartbeater struct + func NewHeartbeater(period time.Duration, buckets int) *Heartbeater + func (hb *Heartbeater) Add(sub *Subscriber) + func (hb *Heartbeater) Len() int + func (hb *Heartbeater) Remove(sub *Subscriber) + func (hb *Heartbeater) Run(ctx context.Context) + type Hub struct + func NewHub(policyStore *policy.Store, registry *discovery.SchemaRegistry, metric *Metrics) *Hub + func (h *Hub) Add(topic, role string, sub *Subscriber) + func (h *Hub) Broadcast(topic string, raw []byte) + func (h *Hub) Len(topic string) int + func (h *Hub) Remove(topic, role string, sub *Subscriber) + func (h *Hub) ReplayProjector(role string, claims map[string]any) func(raw []byte) (Frame, bool) + type Metrics struct + func NewMetrics() *Metrics + func (m *Metrics) ConnClosed(d time.Duration) + func (m *Metrics) ConnOpened() + func (m *Metrics) FrameDropped(kind string) + func (m *Metrics) FrameSent(kind string, n int) + func (m *Metrics) RowWithheld(table, role string) + type Subscriber struct + func NewSubscriber(claims map[string]any, m *Metrics) *Subscriber + func (s *Subscriber) Evicted() <-chan struct{} + func (s *Subscriber) Frames() <-chan Frame + func (s *Subscriber) Send(f Frame) bool