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

Method getMetadata

pkg/events/cloud/cloud.go:147–178  ·  view source on GitHub ↗
(evt events.Event)

Source from the content-addressed store, hash-verified

145}
146
147func (ps *PubSub) getMetadata(evt events.Event) map[string]string {
148 ids := make(map[string][]string, 10)
149 for _, id := range evt.Identifiers() {
150 k := id.EntityType() + "_id"
151 ids[k] = append(ids[k], id.IDString())
152 if gtwEUI := types.MustEUI64(id.GetGatewayIds().GetEui()); gtwEUI != nil {
153 ids["gateway_eui"] = append(ids["gateway_eui"], gtwEUI.String())
154 }
155 if devID := id.GetDeviceIds(); devID != nil {
156 if devID.ApplicationIds != nil {
157 ids["application_id"] = append(ids["application_id"], devID.GetApplicationIds().GetApplicationId())
158 }
159 if devID.DevEui != nil {
160 ids["dev_eui"] = append(ids["dev_eui"], types.MustEUI64(devID.DevEui).String())
161 }
162 if devID.JoinEui != nil {
163 ids["join_eui"] = append(ids["join_eui"], types.MustEUI64(devID.JoinEui).String())
164 }
165 if devID.DevAddr != nil {
166 ids["dev_addr"] = append(ids["dev_addr"], types.MustDevAddr(devID.DevAddr).String())
167 }
168 }
169 }
170 md := make(map[string]string, len(ids)+3)
171 md["content-type"] = ps.contentType
172 md["event"] = evt.Name()
173 md["correlation_ids"] = strings.Join(evt.CorrelationIds(), ",")
174 for k, v := range ids {
175 md[k] = strings.Join(v, ",")
176 }
177 return md
178}
179
180// Publish an event to Go Cloud.
181func (ps *PubSub) Publish(evs ...events.Event) {

Callers 1

PublishMethod · 0.95

Implementers 15

mockPubSubStorepkg/console/internal/events/subscripti
routerForwarderServerpkg/packetbrokeragent/mock/pbdataplane
routerHomeNetworkServerpkg/packetbrokeragent/mock/pbdataplane
noopPubSubpkg/events/default.go
PubSubpkg/events/cloud/cloud.go
multiplexerpkg/events/mux/mux.go
ephemeralPubSubpkg/events/mux/mux_test.go
PubSubpkg/events/basic/pubsub.go
PubSubpkg/events/redis/redis.go
ApplicationServerpkg/applicationserver/applicationserve
pubSubDistributorpkg/applicationserver/distribution/pub
subscriptionSetpkg/applicationserver/distribution/sub

Calls 14

MustEUI64Function · 0.92
MustDevAddrFunction · 0.92
GetApplicationIdMethod · 0.80
IdentifiersMethod · 0.65
EntityTypeMethod · 0.65
IDStringMethod · 0.65
GetEuiMethod · 0.65
StringMethod · 0.65
NameMethod · 0.65
JoinMethod · 0.65
CorrelationIdsMethod · 0.65
GetGatewayIdsMethod · 0.45

Tested by

no test coverage detected