MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / storeEvent

Method storeEvent

pkg/events/redis/store.go:76–90  ·  view source on GitHub ↗
(
	ctx context.Context, tx redis.Cmdable, evt events.Event, correlationIDKeys map[string][]any,
)

Source from the content-addressed store, hash-verified

74}
75
76func (ps *PubSubStore) storeEvent(
77 ctx context.Context, tx redis.Cmdable, evt events.Event, correlationIDKeys map[string][]any,
78) error {
79 b, err := encodeEventData(evt)
80 if err != nil {
81 return err
82 }
83 ttl := random.Jitter(ps.historyTTL, ttlJitter)
84 tx.Set(ctx, ps.eventDataKey(evt.Context(), evt.UniqueID()), b, ttl)
85 for _, cid := range evt.CorrelationIds() {
86 key := ps.eventIndexKey(evt.Context(), cid)
87 correlationIDKeys[key] = append(correlationIDKeys[key], evt.UniqueID())
88 }
89 return nil
90}
91
92// loadEventData loads event data for every event in evts (by UniqueID)
93// and set additional fields in the events.

Callers 1

publishMethod · 0.95

Calls 8

eventDataKeyMethod · 0.95
eventIndexKeyMethod · 0.95
JitterFunction · 0.92
encodeEventDataFunction · 0.85
SetMethod · 0.65
ContextMethod · 0.65
UniqueIDMethod · 0.65
CorrelationIdsMethod · 0.65

Tested by

no test coverage detected