public SocketServer(ILogger logger, IStateRequestRouter stateRequestRouter, IConnectionRegistry connectionRegistry, IQueryResolver queryResolver) { _queryResolver = queryResolver; _logger = logger; _stateRequestRouter = stateRequestRouter; _connectionRegistry = connectionRegistry; }
public ModuleToModuleMessageHandler(IConnectionRegistry connectionRegistry, IIdentityProvider identityProvider, ModuleToModuleResponseTimeout responseTimeout) : base(connectionRegistry) { this.identityProvider = Preconditions.CheckNotNull(identityProvider); this.tokenCleanupPeriod = responseTimeout; this.timer = new Timer(this.CleanTokens, null, responseTimeout, responseTimeout); }
public SubscriptionChangeHandler( ICloud2DeviceMessageHandler cloud2DeviceMessageHandler, IModuleToModuleMessageHandler moduleToModuleMessageHandler, IDirectMethodHandler directMethodHandler, ITwinHandler twinHandler, IConnectionRegistry connectionRegistry, IIdentityProvider identityProvider) { Preconditions.CheckNotNull(cloud2DeviceMessageHandler); Preconditions.CheckNotNull(moduleToModuleMessageHandler); Preconditions.CheckNotNull(directMethodHandler); Preconditions.CheckNotNull(twinHandler); this.connectionRegistry = Preconditions.CheckNotNull(connectionRegistry); this.identityProvider = Preconditions.CheckNotNull(identityProvider); this.subscriptionPatterns = new List <SubscriptionPattern>(); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(cloud2DeviceMessageHandler.WatchedSubscriptions)); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(moduleToModuleMessageHandler.WatchedSubscriptions)); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(directMethodHandler.WatchedSubscriptions)); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(twinHandler.WatchedSubscriptions)); // Later we need all possible subscriptions in use, but don't want to recalculate every time, so // store it now. this.allSubscriptions = this.subscriptionPatterns.Select(s => s.Subscription).Distinct().ToArray(); }
public DeviceProxy( IIdentity identity, bool isDirectClient, IConnectionRegistry connectionRegistry, ITwinHandler twinHandler, IModuleToModuleMessageHandler moduleToModuleMessageHandler, ICloud2DeviceMessageHandler cloud2DeviceMessageHandler, IDirectMethodHandler directMethodHandler) { this.Identity = Preconditions.CheckNotNull(identity); this.connectionRegistry = Preconditions.CheckNotNull(connectionRegistry); this.twinHandler = Preconditions.CheckNotNull(twinHandler); this.moduleToModuleMessageHandler = Preconditions.CheckNotNull(moduleToModuleMessageHandler); this.cloud2DeviceMessageHandler = Preconditions.CheckNotNull(cloud2DeviceMessageHandler); this.directMethodHandler = Preconditions.CheckNotNull(directMethodHandler); this.isActive = new AtomicBoolean(true); this.IsDirectClient = isDirectClient; // when a child edge device connects, it uses $edgeHub identity. // Although it is a direct client, it uses the indirect topics if (identity is ModuleIdentity moduleIdentity) { if (string.Equals(moduleIdentity.ModuleId, Constants.EdgeHubModuleId)) { this.IsDirectClient = false; } } Events.Created(this.Identity); }
protected PacketHandler(INetworkBootstrap networkBootstrap, IPacketHandlerRegistry packetHandlerRegistry, IConnectionRegistry connectionRegistry, IConnection connection) { NetworkBootstrap = networkBootstrap; PacketHandlerRegistry = packetHandlerRegistry; ConnectionRegistry = connectionRegistry; Connection = connection; }
protected PacketInboundHandler(INetworkBootstrap networkBootstrap, IPacketRegistry packetRegistry, IConnectionRegistry connectionRegistry, IPacketHandlerRegistry packetHandlerRegistry) { _networkBootstrap = networkBootstrap ?? throw new ArgumentNullException(nameof(networkBootstrap)); _packetRegistry = packetRegistry ?? throw new ArgumentNullException(nameof(packetRegistry)); _connectionRegistry = connectionRegistry ?? throw new ArgumentNullException(nameof(connectionRegistry)); _packetHandlerRegistry = packetHandlerRegistry ?? throw new ArgumentNullException(nameof(packetHandlerRegistry)); }
public DefaultBootstrap(BootstrapTypeEnum bootstrapType, TimeSpan packetHandlerTickingInterval, IConnectionRegistry connectionRegistry = null, IPacketRegistry packetRegistry = null, IPacketHandlerRegistry packetHandlerRegistry = null, Type inboundHandlerType = null) { _inboundHandlerType = inboundHandlerType ?? typeof(DefaultPacketInboundHandler); if (!typeof(PacketInboundHandler).IsAssignableFrom(_inboundHandlerType)) { throw new ArgumentException( $"{_inboundHandlerType.FullName} is not assignable from {typeof(PacketInboundHandler).FullName}"); } BootstrapType = bootstrapType; _packetHandlerTickingInterval = packetHandlerTickingInterval.TotalMilliseconds; ConnectionRegistry = connectionRegistry ?? new DefaultConnectionRegistry(); PacketRegistry = packetRegistry ?? new DefaultPacketRegistry(); PacketHandlerRegistry = packetHandlerRegistry ?? new DefaultPacketHandlerRegistry(this, ConnectionRegistry); }
public DeviceProxy( IIdentity identity, IConnectionRegistry connectionRegistry, ITwinHandler twinHandler, IModuleToModuleMessageHandler moduleToModuleMessageHandler, ICloud2DeviceMessageHandler cloud2DeviceMessageHandler, IDirectMethodHandler directMethodHandler) { this.Identity = Preconditions.CheckNotNull(identity); this.connectionRegistry = Preconditions.CheckNotNull(connectionRegistry); this.twinHandler = Preconditions.CheckNotNull(twinHandler); this.moduleToModuleMessageHandler = Preconditions.CheckNotNull(moduleToModuleMessageHandler); this.cloud2DeviceMessageHandler = Preconditions.CheckNotNull(cloud2DeviceMessageHandler); this.directMethodHandler = Preconditions.CheckNotNull(directMethodHandler); this.isActive = new AtomicBoolean(true); Events.Created(this.Identity); }
public SubscriptionChangeHandler( ICloud2DeviceMessageHandler cloud2DeviceMessageHandler, IModuleToModuleMessageHandler moduleToModuleMessageHandler, IDirectMethodHandler directMethodHandler, ITwinHandler twinHandler, IConnectionRegistry connectionRegistry, IIdentityProvider identityProvider) { Preconditions.CheckNotNull(cloud2DeviceMessageHandler); Preconditions.CheckNotNull(moduleToModuleMessageHandler); Preconditions.CheckNotNull(directMethodHandler); Preconditions.CheckNotNull(twinHandler); this.connectionRegistry = Preconditions.CheckNotNull(connectionRegistry); this.identityProvider = Preconditions.CheckNotNull(identityProvider); this.subscriptionPatterns = new List <SubscriptionPattern>(); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(cloud2DeviceMessageHandler.WatchedSubscriptions)); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(moduleToModuleMessageHandler.WatchedSubscriptions)); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(directMethodHandler.WatchedSubscriptions)); this.subscriptionPatterns.AddRange(Preconditions.CheckNotNull(twinHandler.WatchedSubscriptions)); }
public Cloud2DeviceMessageHandler(IConnectionRegistry connectionRegistry) : base(connectionRegistry) { }
public MessageConfirmingHandler(IConnectionRegistry connectionRegistry) => this.connectionRegistry = connectionRegistry;
public DirectMethodHandler(IConnectionRegistry connectionRegistry, IIdentityProvider identityProvider) { this.connectionRegistry = Preconditions.CheckNotNull(connectionRegistry); this.identityProvider = Preconditions.CheckNotNull(identityProvider); }
public ModuleToModuleMessageHandler(IConnectionRegistry connectionRegistry, IIdentityProvider identityProvider) : base(connectionRegistry) { this.identityProvider = Preconditions.CheckNotNull(identityProvider); }
public ModuleToModuleMessageHandler(IConnectionRegistry connectionRegistry) : base(connectionRegistry) { }
public DefaultPacketInboundHandler(INetworkBootstrap networkBootstrap, IPacketRegistry packetRegistry, IConnectionRegistry connectionRegistry, IPacketHandlerRegistry packetHandlerRegistry) : base( networkBootstrap, packetRegistry, connectionRegistry, packetHandlerRegistry) { }
public PacketHandler(INetworkBootstrap networkBootstrap, IPacketHandlerRegistry packetHandlerRegistry, IConnectionRegistry connectionRegistry, IConnection connection) : base(networkBootstrap, packetHandlerRegistry, connectionRegistry, connection) { }
public DefaultPacketHandlerRegistry(INetworkBootstrap networkBootstrap, IConnectionRegistry connectionRegistry) { _networkBootstrap = networkBootstrap; _connectionRegistry = connectionRegistry; }