Exemplo n.º 1
0
 internal JoinDeviceLoader(IoTHubDeviceInfo ioTHubDevice, ILoRaDeviceFactory deviceFactory)
 {
     this.ioTHubDevice  = ioTHubDevice;
     this.deviceFactory = deviceFactory;
     this.canCache      = true;
     this.loading       = this.LoadAsync();
 }
 /// <summary>
 /// Constructor should be used for test code only.
 /// </summary>
 internal LoRaDeviceRegistry(NetworkServerConfiguration configuration,
                             IMemoryCache cache,
                             LoRaDeviceAPIServiceBase loRaDeviceAPIService,
                             ILoRaDeviceFactory deviceFactory, LoRaDeviceCache deviceCache)
     : this(configuration, cache, loRaDeviceAPIService, deviceFactory, deviceCache,
            NullLoggerFactory.Instance, NullLogger <LoRaDeviceRegistry> .Instance)
 {
 }
Exemplo n.º 3
0
 internal JoinDeviceLoader(IoTHubDeviceInfo ioTHubDevice, ILoRaDeviceFactory deviceFactory, LoRaDeviceCache deviceCache, ILogger <JoinDeviceLoader> logger)
 {
     this.ioTHubDevice  = ioTHubDevice;
     this.deviceFactory = deviceFactory;
     this.deviceCache   = deviceCache;
     this.logger        = logger;
     this.canCache      = true;
 }
Exemplo n.º 4
0
 public BasicsStationConfigurationService(LoRaDeviceAPIServiceBase loRaDeviceApiService,
                                          ILoRaDeviceFactory loRaDeviceFactory,
                                          IMemoryCache cache,
                                          ILogger <BasicsStationConfigurationService> logger)
 {
     this.loRaDeviceApiService = loRaDeviceApiService;
     this.loRaDeviceFactory    = loRaDeviceFactory;
     this.cache  = cache;
     this.logger = logger;
 }
Exemplo n.º 5
0
 public LoRaDeviceRegistry(
     NetworkServerConfiguration configuration,
     IMemoryCache cache,
     LoRaDeviceAPIServiceBase loRaDeviceAPIService,
     ILoRaDeviceFactory deviceFactory)
 {
     this.configuration        = configuration;
     this.resetCacheToken      = new CancellationTokenSource();
     this.cache                = cache;
     this.loRaDeviceAPIService = loRaDeviceAPIService;
     this.deviceFactory        = deviceFactory;
     this.initializers         = new HashSet <ILoRaDeviceInitializer>();
 }
Exemplo n.º 6
0
 public LoRaDeviceRegistry(
     NetworkServerConfiguration configuration,
     IMemoryCache cache,
     LoRaDeviceAPIServiceBase loRaDeviceAPIService,
     ILoRaDeviceFactory deviceFactory)
 {
     this.configuration         = configuration;
     this.resetCacheToken       = new CancellationTokenSource();
     this.resetCacheChangeToken = new CancellationChangeToken(this.resetCacheToken.Token);
     this.cache = cache;
     this.loRaDeviceAPIService  = loRaDeviceAPIService;
     this.deviceFactory         = deviceFactory;
     this.initializers          = new HashSet <ILoRaDeviceInitializer>();
     this.DevAddrReloadInterval = TimeSpan.FromSeconds(30);
     this.getOrCreateLoadingDevicesRequestQueueLock = new object();
     this.getOrCreateJoinDeviceLoaderLock           = new object();
     this.devEUIToLoRaDeviceDictionaryLock          = new object();
 }
 internal DeviceLoaderSynchronizer(
     DevAddr devAddr,
     LoRaDeviceAPIServiceBase loRaDeviceAPIService,
     ILoRaDeviceFactory deviceFactory,
     NetworkServerConfiguration configuration,
     LoRaDeviceCache deviceCache,
     HashSet <ILoRaDeviceInitializer> initializers,
     ILogger <DeviceLoaderSynchronizer> logger)
 {
     this.loRaDeviceAPIService = loRaDeviceAPIService;
     this.deviceFactory        = deviceFactory;
     this.configuration        = configuration;
     this.devAddr         = devAddr;
     this.loraDeviceCache = deviceCache;
     this.initializers    = initializers;
     this.logger          = logger;
     this.state           = LoaderState.QueryingDevices;
     this.queueLock       = new object();
     this.queuedRequests  = new List <LoRaRequest>();
 }
 public LoRaDeviceRegistry(
     NetworkServerConfiguration configuration,
     IMemoryCache cache,
     LoRaDeviceAPIServiceBase loRaDeviceAPIService,
     ILoRaDeviceFactory deviceFactory,
     LoRaDeviceCache deviceCache,
     ILoggerFactory loggerFactory,
     ILogger <LoRaDeviceRegistry> logger)
 {
     this.configuration        = configuration;
     this.cache                = cache;
     this.loRaDeviceAPIService = loRaDeviceAPIService;
     this.deviceFactory        = deviceFactory;
     this.loggerFactory        = loggerFactory;
     this.logger               = logger;
     this.initializers         = new HashSet <ILoRaDeviceInitializer>();
     DevAddrReloadInterval     = TimeSpan.FromSeconds(30);
     this.getOrCreateLoadingDevicesRequestQueueLock = new object();
     this.getOrCreateJoinDeviceLoaderLock           = new object();
     this.deviceCache = deviceCache;
 }
Exemplo n.º 9
0
 internal DeviceLoaderSynchronizer(
     string devAddr,
     LoRaDeviceAPIServiceBase loRaDeviceAPIService,
     ILoRaDeviceFactory deviceFactory,
     DevEUIToLoRaDeviceDictionary destinationDictionary,
     HashSet <ILoRaDeviceInitializer> initializers,
     NetworkServerConfiguration configuration,
     Action <Task, DeviceLoaderSynchronizer> continuationAction,
     Action <LoRaDevice> registerDeviceAction)
 {
     this.loRaDeviceAPIService = loRaDeviceAPIService;
     this.deviceFactory        = deviceFactory;
     this.devAddr              = devAddr;
     this.existingDevices      = destinationDictionary;
     this.initializers         = initializers;
     this.configuration        = configuration;
     this.registerDeviceAction = registerDeviceAction;
     this.state = LoaderState.QueryingDevices;
     this.loadingDevicesFailed = false;
     this.queueLock            = new object();
     this.queuedRequests       = new List <LoRaRequest>();
     this.loading = Task.Run(() => this.Load().ContinueWith((t) => continuationAction(t, this), TaskContinuationOptions.ExecuteSynchronously));
 }