iotedge-lorawan-starterkit icon indicating copy to clipboard operation
iotedge-lorawan-starterkit copied to clipboard

Synchronize device initialization

Open p-schuler opened this issue 3 years ago • 0 comments

When a LoRaDevice instance is created, it is initialized in a second step by loading its twin information before being placed into the cache for others to discover and use. While waiting for the twin information, it is possible for another request to start initialization of another LoRaDevice for the same DevEUI. For example, suppose the device cache of an LNS is empty and a join request for an OTAA device starts that initialization of the LoRaDevice. During this time, an uplink message arrives from an ABP device. The LNS will search for all devices belonging to the DevAddr of the data frame. If the search returns the device with the same DevEUI as the OTAA device, then a second LoRaDevice instance will be created (assuming the device is still not in the cache) and initialized from its twin.

p-schuler avatar Feb 15 '22 13:02 p-schuler