/// <summary> /// Use this constructor only for tests. /// </summary> internal MessageDispatcher(NetworkServerConfiguration configuration, ILoRaDeviceRegistry deviceRegistry, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider) : this(configuration, deviceRegistry, frameCounterUpdateStrategyProvider, new JoinRequestMessageHandler(configuration, concentratorDeduplication, deviceRegistry, NullLogger <JoinRequestMessageHandler> .Instance, null), NullLoggerFactory.Instance, NullLogger <MessageDispatcher> .Instance, null) { }
public DefaultClassCDevicesMessageSender( NetworkServerConfiguration configuration, ILoRaDeviceRegistry loRaDeviceRegistry, IPacketForwarder packetForwarder, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider) { this.configuration = configuration; this.loRaDeviceRegistry = loRaDeviceRegistry; this.packetForwarder = packetForwarder; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; }
public DefaultClassCDevicesMessageSender( NetworkServerConfiguration configuration, ILoRaDeviceRegistry loRaDeviceRegistry, IDownstreamMessageSender downstreamMessageSender, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider, ILogger <DefaultClassCDevicesMessageSender> logger, Meter meter) { this.configuration = configuration; this.loRaDeviceRegistry = loRaDeviceRegistry; this.downstreamMessageSender = downstreamMessageSender; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; this.logger = logger; this.c2dMessageTooLong = meter?.CreateCounter <int>(MetricRegistry.C2DMessageTooLong); }
public MessageProcessor_End2End_NoDep_ClassC_CloudToDeviceMessage_SizeLimit_Tests() { this.serverConfiguration = new NetworkServerConfiguration() { GatewayID = ServerGatewayID, }; this.loRaRegion = RegionManager.EU868; this.PacketForwarder = new TestPacketForwarder(); this.deviceApi = new Mock <LoRaDeviceAPIServiceBase>(MockBehavior.Strict); this.deviceClient = new Mock <ILoRaDeviceClient>(MockBehavior.Strict); this.loRaDeviceFactory = new TestLoRaDeviceFactory(this.deviceClient.Object); this.loRaDeviceRegistry = new LoRaDeviceRegistry(this.serverConfiguration, new MemoryCache(new MemoryCacheOptions()), this.deviceApi.Object, this.loRaDeviceFactory); this.frameCounterStrategyProvider = new LoRaDeviceFrameCounterUpdateStrategyProvider(this.serverConfiguration.GatewayID, this.deviceApi.Object); }
public MessageDispatcher( NetworkServerConfiguration configuration, ILoRaDeviceRegistry deviceRegistry, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider, JoinRequestMessageHandler joinRequestHandler = null) { this.configuration = configuration; this.deviceRegistry = deviceRegistry; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; // Register frame counter initializer // It will take care of seeding ABP devices created here for single gateway scenarios this.deviceRegistry.RegisterDeviceInitializer(new FrameCounterLoRaDeviceInitializer(configuration.GatewayID, frameCounterUpdateStrategyProvider)); this.joinRequestHandler = joinRequestHandler ?? new JoinRequestMessageHandler(this.configuration, this.deviceRegistry); }
public DefaultClassCDevicesMessageSenderTest() { this.serverConfiguration = new NetworkServerConfiguration() { GatewayID = ServerGatewayID, }; this.loRaRegion = RegionManager.EU868; this.packetForwarder = new Mock <IPacketForwarder>(MockBehavior.Strict); this.deviceApi = new Mock <LoRaDeviceAPIServiceBase>(MockBehavior.Strict); this.deviceClient = new Mock <ILoRaDeviceClient>(MockBehavior.Strict); this.loRaDeviceFactory = new TestLoRaDeviceFactory(this.deviceClient.Object); this.loRaDeviceRegistry = new LoRaDeviceRegistry(this.serverConfiguration, new MemoryCache(new MemoryCacheOptions()), this.deviceApi.Object, this.loRaDeviceFactory); this.frameCounterStrategyProvider = new LoRaDeviceFrameCounterUpdateStrategyProvider(this.serverConfiguration.GatewayID, this.deviceApi.Object); }
public DefaultLoRaDataRequestHandler( NetworkServerConfiguration configuration, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider, ILoRaPayloadDecoder payloadDecoder, IDeduplicationStrategyFactory deduplicationFactory, ILoRaADRStrategyProvider loRaADRStrategyProvider, ILoRAADRManagerFactory loRaADRManagerFactory, IFunctionBundlerProvider functionBundlerProvider, IClassCDeviceMessageSender classCDeviceMessageSender = null) { this.configuration = configuration; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; this.payloadDecoder = payloadDecoder; this.deduplicationFactory = deduplicationFactory; this.classCDeviceMessageSender = classCDeviceMessageSender; this.loRaADRStrategyProvider = loRaADRStrategyProvider; this.loRaADRManagerFactory = loRaADRManagerFactory; this.functionBundlerProvider = functionBundlerProvider; }
public TestLoRaDeviceFactory( NetworkServerConfiguration configuration, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider, ILoRaDeviceClient loRaDeviceClient, IDeduplicationStrategyFactory deduplicationFactory, ILoRaADRStrategyProvider adrStrategyProvider, ILoRAADRManagerFactory adrManagerFactory, IFunctionBundlerProvider functionBundlerProvider, ILoRaDeviceClientConnectionManager connectionManager) : this(loRaDeviceClient) { this.configuration = configuration; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; this.deduplicationFactory = deduplicationFactory; this.adrStrategyProvider = adrStrategyProvider; this.adrManagerFactory = adrManagerFactory; this.functionBundlerProvider = functionBundlerProvider; this.connectionManager = connectionManager; }
public DefaultClassCDevicesMessageSenderTest() { this.serverConfiguration = new NetworkServerConfiguration() { GatewayID = ServerGatewayID, }; this.loRaRegion = RegionManager.EU868; this.downstreamMessageSender = new Mock <IDownstreamMessageSender>(MockBehavior.Strict); this.deviceApi = new Mock <LoRaDeviceAPIServiceBase>(MockBehavior.Strict); this.deviceClient = new Mock <ILoRaDeviceClient>(MockBehavior.Loose); this.cache = new MemoryCache(new MemoryCacheOptions()); #pragma warning disable CA2000 // Dispose objects before losing scope this.loRaDeviceFactory = new TestLoRaDeviceFactory(this.deviceClient.Object, this.deviceCache, new LoRaDeviceClientConnectionManager(this.cache, NullLogger <LoRaDeviceClientConnectionManager> .Instance)); #pragma warning restore CA2000 // Dispose objects before losing scope this.loRaDeviceRegistry = new LoRaDeviceRegistry(this.serverConfiguration, this.cache, this.deviceApi.Object, this.loRaDeviceFactory, this.deviceCache); this.frameCounterStrategyProvider = new LoRaDeviceFrameCounterUpdateStrategyProvider(this.serverConfiguration, this.deviceApi.Object); }
public ClassCCloudToDeviceMessageSizeLimitTests(ITestOutputHelper testOutputHelper) { this.serverConfiguration = new NetworkServerConfiguration() { GatewayID = ServerGatewayID, }; this.loRaRegion = RegionManager.EU868; DownstreamMessageSender = new TestDownstreamMessageSender(); this.deviceApi = new Mock <LoRaDeviceAPIServiceBase>(MockBehavior.Strict); this.deviceClient = new Mock <ILoRaDeviceClient>(MockBehavior.Loose); this.testOutputLoggerFactory = new TestOutputLoggerFactory(testOutputHelper); this.cache = new MemoryCache(new MemoryCacheOptions()); this.connectionManager = new LoRaDeviceClientConnectionManager(this.cache, testOutputLoggerFactory.CreateLogger <LoRaDeviceClientConnectionManager>()); this.loRaDeviceFactory = new TestLoRaDeviceFactory(this.deviceClient.Object, this.deviceCache, this.connectionManager); this.loRaDeviceRegistry = new LoRaDeviceRegistry(this.serverConfiguration, this.cache, this.deviceApi.Object, this.loRaDeviceFactory, this.deviceCache); this.frameCounterStrategyProvider = new LoRaDeviceFrameCounterUpdateStrategyProvider(this.serverConfiguration, this.deviceApi.Object); }
public MessageDispatcher( NetworkServerConfiguration configuration, ILoRaDeviceRegistry deviceRegistry, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider, IJoinRequestMessageHandler joinRequestHandler, ILoggerFactory loggerFactory, ILogger <MessageDispatcher> logger, Meter meter) { this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.deviceRegistry = deviceRegistry; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; // Register frame counter initializer // It will take care of seeding ABP devices created here for single gateway scenarios this.deviceRegistry.RegisterDeviceInitializer(new FrameCounterLoRaDeviceInitializer(configuration.GatewayID, frameCounterUpdateStrategyProvider)); this.joinRequestHandler = joinRequestHandler; this.loggerFactory = loggerFactory; this.logger = logger; this.d2cMessageDeliveryLatencyHistogram = meter?.CreateHistogram <double>(MetricRegistry.D2CMessageDeliveryLatency); }
public TestDefaultLoRaRequestHandler( NetworkServerConfiguration configuration, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider, IConcentratorDeduplication concentratorDeduplication, ILoRaPayloadDecoder payloadDecoder, IDeduplicationStrategyFactory deduplicationFactory, ILoRaADRStrategyProvider loRaADRStrategyProvider, ILoRAADRManagerFactory loRaADRManagerFactory, IFunctionBundlerProvider functionBundlerProvider, ITestOutputHelper testOutputHelper) : base( configuration, frameCounterUpdateStrategyProvider, concentratorDeduplication, payloadDecoder, deduplicationFactory, loRaADRStrategyProvider, loRaADRManagerFactory, functionBundlerProvider, new TestOutputLogger <DefaultLoRaDataRequestHandler>(testOutputHelper), TestMeter.Instance) { this.configuration = configuration; }
public FrameCounterLoRaDeviceInitializer(string gatewayID, ILoRaDeviceFrameCounterUpdateStrategyProvider frameCounterUpdateStrategyProvider) { this.gatewayID = gatewayID; this.frameCounterUpdateStrategyProvider = frameCounterUpdateStrategyProvider; }