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

Function encodeEventMeta

pkg/events/redis/codec.go:79–103  ·  view source on GitHub ↗
(evt events.Event, id *ttnpb.EntityIdentifiers)

Source from the content-addressed store, hash-verified

77)
78
79func encodeEventMeta(evt events.Event, id *ttnpb.EntityIdentifiers) ([]string, error) {
80 meta := []string{
81 eventUIDKey, evt.UniqueID(),
82 eventNameKey, evt.Name(),
83 entityIDKey, unique.ID(evt.Context(), id),
84 entityTypeKey, id.EntityType(),
85 }
86 ePB, err := events.Proto(evt)
87 if err != nil {
88 return nil, err
89 }
90 sparsePB := &ttnpb.Event{
91 // Name is stored in eventNameKey
92 Time: ePB.Time,
93 // Identifiers is stored in entityTypeKey+entityIDKey
94 Context: ePB.Context,
95 Visibility: ePB.Visibility,
96 // UniqueID is stored in eventUIDKey
97 }
98 rb, err := proto.Marshal(sparsePB)
99 if err != nil {
100 return nil, err
101 }
102 return append(meta, eventSparseKey, encodeBinary(rb)), nil
103}
104
105func decodeEventMeta(values map[string]any) (*ttnpb.Event, error) {
106 var (

Callers 1

publishMethod · 0.85

Calls 8

IDFunction · 0.92
ProtoFunction · 0.92
encodeBinaryFunction · 0.85
UniqueIDMethod · 0.65
NameMethod · 0.65
ContextMethod · 0.65
EntityTypeMethod · 0.65
MarshalMethod · 0.65

Tested by

no test coverage detected