# Packages

No description provided by the author

# Functions

AddDeviceToMulticastGroup adds the given device to the given multicast-group.
ClearDeviceNoncesForDevice removes the device DevNonce from device-activation for the given DevEUI.
CreateDevice creates the given device.
CreateDeviceActivation creates the given device-activation.
CreateDeviceProfile creates the given device-profile.
CreateDeviceProfileCache caches the given device-profile in Redis.
CreateDeviceQueueItem adds the given item to the device-queue.
CreateGateway creates the given gateway.
CreateGatewayMetaCache caches the given gateway meta in Redis.
CreateGatewayProfile creates the given gateway-profile.
CreateMACCommandQueueItem creates a new mac-command queue item.
CreateMulticastGroup creates the given multi-cast group.
CreateMulticastQueueItem adds the given item to the queue.
CreateRoutingProfile creates the given routing-profile.
CreateServiceProfile creates the given service-profile.
CreateServiceProfileCache caches the given service-profile into the Redis.
DB returns the PostgreSQL database object.
DeleteDevice deletes the device matching the given DevEUI.
DeleteDeviceActivationsForDevice removes the device-activation for the given DevEUI.
DeleteDeviceGatewayRXInfoSet deletes the device gateway rx-info meta-data for the given Device EUI.
DeleteDeviceProfile deletes the device-profile matching the given id.
DeleteDeviceQueueItem deletes the device-queue item matching the given id.
DeleteDeviceSession deletes the device-session matching the given DevEUI.
DeleteGateway deletes the gateway matching the given Gateway ID.
DeleteGatewayProfile deletes the gateway-profile matching the given ID.
DeleteMACCommandQueueItem deletes the given mac-command from the queue.
DeleteMulticastGroup deletes the multicast-group matching the given ID.
DeleteMulticastQueueItem deletes the queue-item given an id.
DeletePendingMACCommand removes the pending mac-command for the given CID.
DeleteRoutingProfile deletes the routing-profile matching the given id.
DeleteServiceProfile deletes the service-profile matching the given id.
DeviceSessionExists returns a bool indicating if a device session exist.
FlushDeviceProfileCache deletes a cached device-profile.
FlushDeviceQueueForDevEUI deletes all device-queue items for the given DevEUI.
FlushGatewayMetaCache flushes the gateway meta cache.
FlushGatewayMetaCacheForServiceProfile flushes the gateway meta-cache for gateways using the given service-profile ID.
FlushMACCommandQueue flushes the mac-command queue for the given DevEUI.
FlushMulticastQueueForMulticastGroup flushes the multicast-queue given a multicast-group id.
FlushServiceProfileCache deletes a cached service-profile.
GetAllRoutingProfiles returns all the available routing-profiles.
GetAndCacheDeviceProfile returns the device-profile from cache in case available, else it will be retrieved from the database and then stored in cache.
GetAndCacheGatewayMeta returns a gateway meta from the cache in case it is available.
GetAndCacheServiceProfile returns the service-profile from cache in case available, else it will be retrieved from the database and then stored in cache.
GetDevEUIsForDevAddr returns the DevEUIs that are using the given DevAddr.
GetDevEUIsForMulticastGroup returns all Device EUIs within the given multicast-group id.
GetDevice returns the device matching the given DevEUI.
GetDeviceGatewayRXInfoSet returns the DeviceGatewayRXInfoSet for the given Device EUI.
GetDeviceGatewayRXInfoSetForDevEUIs returns the DeviceGatewayRXInfoSet objects for the given Device EUIs.
GetDeviceProfile returns the device-profile matching the given id.
GetDeviceProfileCache returns a cached device-profile.
GetDeviceQueueItem returns the device-queue item matching the given id.
GetDeviceQueueItemCountForDevEUI returns the device-queue item count for the given DevEUI.
GetDeviceQueueItemsForDevEUI returns all device-queue items for the given DevEUI, ordered by id (keep in mind FCnt rollover).
GetDeviceSession returns the device-session for the given DevEUI.
GetDeviceSessionForPHYPayload returns the device-session matching the given PHYPayload.
GetDeviceSessionsForDevAddr returns a slice of device-sessions using the given DevAddr.
GetDevicesWithClassBOrClassCDeviceQueueItems returns a slice of devices that qualify for downlink Class-C transmission.
GetDownlinkFrame returns the downlink-frame matching the given token.
GetFullFCntUp returns the full 32bit frame-counter, given the fCntUp which has been truncated to the last 16 LSB.
GetGateway returns the gateway for the given Gateway ID.
GetGatewayMeta returns the GatewayMeta object for the given gateway ID.
GetGatewayMetaCache returns a cached gateway meta.
GetGatewayProfile returns the gateway-profile matching the given ID.
GetGatewaysForIDs returns a map of gateways given a slice of IDs.
GetLastDeviceActivationForDevEUI returns the most recent activation for the given DevEUI.
GetMACCommandQueueItems returns the mac-command queue items for the given DevEUI.
GetMaxEmitAtTimeSinceGPSEpochForDevEUI returns the maximum / last GPS epoch scheduling timestamp for the given DevEUI.
GetMaxEmitAtTimeSinceGPSEpochForMulticastGroup returns the maximum / last GPS epoch scheduling timestamp for the given multicast-group.
GetMaxScheduleAtForMulticastGroup returns the maximum schedule at timestamp for the given multicast-group.
GetMetrics returns the metrics for the requested aggregation interval.
GetMulticastGroup returns the multicast-group for the given ID.
GetMulticastGroupsForDevEUI returns the multicast-group ids to which the given Device EUI belongs.
GetMulticastQueueItem returns the multicast queue-item for the given ID.
GetMulticastQueueItemsForMulticastGroup returns all queue-items given a multicast-group id.
GetNextDeviceQueueItemForDevEUI returns the next device-queue item for the given DevEUI, ordered by f_cnt and a bool indicating if more items exist in the queue (note that the f_cnt should never roll over).
GetPassiveRoamingDeviceSession returns the passive-roaming device-session.
GetPassiveRoamingDeviceSessionsForDevAddr returns a slice of passive-roaming device-session matching the given DevAddr.
GetPassiveRoamingDeviceSessionsForPHYPayload returns the passive-roaming device-sessions matching the given PHYPayload.
GetPassiveRoamingIDsForDevAddr returns the passive-roaming session IDs for the given DevAddr.
GetPendingDeviceQueueItemForDevEUI returns the pending device-queue item for the given DevEUI.
GetPendingMACCommand returns the pending mac-command for the given CID.
GetRandomDevAddr returns a random DevAddr, prefixed with NwkID based on the given NetID.
GetRedisKey returns the Redis key given a template and parameters.
GetRoutingProfile returns the routing-profile matching the given id.
GetSchedulableMulticastQueueItems returns a slice of multicast-queue items for scheduling.
GetServiceProfile returns the service-profile matching the given id.
GetServiceProfileCache returns a cached service-profile.
MigrateDown configure postgres migration down.
MigrateUp configure postgres migration up.
RedisClient returns the Redis client.
RemoveDeviceFromMulticastGroup removes the given device from the given multicast-group.
SaveDeviceGatewayRXInfoSet saves the given DeviceGatewayRXInfoSet.
SaveDeviceSession saves the device-session.
SaveDownlinkFrame saves the given downlink-frame.
SavePassiveRoamingDeviceSession saves the passive-roaming device-session.
SetPendingMACCommand sets a mac-command to the pending buffer.
SetTimeLocation sets the time location.
Setup configures the storage backend.
Transaction wraps the given function in a transaction.
UpdateDevice updates the given device.
UpdateDeviceProfile updates the given device-profile.
UpdateDeviceQueueItem updates the given device-queue item.
UpdateGateway updates the given gateway.
UpdateGatewayProfile updates the given gateway-profile.
UpdateGatewayState updates the location of the gateway and last seen ts.
UpdateMulticastGroup updates the given multicast-grup.
UpdateMulticastQueueItem updates the given multicast queue-item.
UpdateRoutingProfile updates the given routing-profile.
UpdateServiceProfile updates the given service-profile.
ValidateDevNonce validates the given dev-nonce for the given DevEUI / JoinEUI combination.

# Constants

Metrics aggregation intervals.
Metrics aggregation intervals.
Metrics aggregation intervals.
Metrics aggregation intervals.
Available device modes.
Available device modes.
Available device modes.
Templates used for generating Redis keys.
Available rate policies.
Available rate policies.
Modulations.
Modulations.
Possible multicast-group types.
Possible multicast-group types.
Available RX window options.
Available RX window options.
Templates used for generating Redis keys.
UplinkHistorySize contains the number of frames to store.

# Variables

errors.
errors.
errors.
errors.
errors.
errors.
errors.
errors.
No description provided by the author
No description provided by the author

# Structs

DBLogger is a DB wrapper which logs the executed sql queries and their duration.
Device defines a LoRaWAN device.
DeviceActivation defines the device-activation for a LoRaWAN device.
DeviceGatewayRXInfo holds the meta-data of a gateway receiving the last uplink message.
No description provided by the author
DeviceGatewayRXInfoSet contains the rx-info set of the receiving gateways for the last uplink.
No description provided by the author
DeviceProfile defines the backend.DeviceProfile with some extra meta-data.
DeviceQueueItem represents an item in the device queue (downlink).
DeviceSession defines a device-session.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ExtraChannel defines an extra channel for the gateway-profile.
Gateway represents a gateway.
GatewayBoard holds the gateway board configuration.
GatewayMeta represents the gateway meta-data.
GatewayProfile defines a gateway-profile.
GPSPoint contains a GPS point.
KeyEnvelope defined a key-envelope.
MACCommandBlock defines a block of MAC commands that must be handled together.
MetricsRecord holds a single metrics record.
MulticastGroup defines a multicast-group.
MulticastQueueItem defines a multicast queue-item.
PassiveRoamingDeviceSession defines the passive-roaming session.
No description provided by the author
RoutingProfile defines the backend.RoutingProfile with some extra meta-data.
ServiceProfile defines the backend.ServiceProfile with some extra meta-data.
TxLogger logs the executed sql queries and their duration.
UplinkHistory contains the meta-data of an uplink transmission.

# Type aliases

AggregationInterval defines the aggregation type.
DeviceMode defines the mode in which the device operates.
MACCommands holds a slice of MACCommand items.
MulticastGroupType type defines the multicast-group type.
RatePolicy defines the RatePolicy type.
RXWindow defines the RX window option.