public static async Task <CloudConnection> Create( IIdentity identity, Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ITransportSettings[] transportSettings, IMessageConverterProvider messageConverterProvider, IClientProvider clientProvider, ICloudListener cloudListener, ITokenProvider tokenProvider, TimeSpan idleTimeout, bool closeOnIdleTimeout, TimeSpan operationTimeout) { Preconditions.CheckNotNull(tokenProvider, nameof(tokenProvider)); var cloudConnection = new CloudConnection( identity, connectionStatusChangedHandler, transportSettings, messageConverterProvider, clientProvider, cloudListener, idleTimeout, closeOnIdleTimeout, operationTimeout); ICloudProxy cloudProxy = await cloudConnection.CreateNewCloudProxyAsync(tokenProvider); cloudConnection.cloudProxy = Option.Some(cloudProxy); return(cloudConnection); }
public DesiredPropertyUpdateHandler( ICloudListener listener, IMessageConverter <TwinCollection> converter) { this.listener = listener; this.converter = converter; }
ClientTokenCloudConnection( IIdentity identity, Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ITransportSettings[] transportSettings, IMessageConverterProvider messageConverterProvider, IClientProvider clientProvider, ICloudListener cloudListener, TimeSpan idleTimeout, bool closeOnIdleTimeout, TimeSpan operationTimeout, string productInfo, Option <string> modelId) : base( identity, connectionStatusChangedHandler, transportSettings, messageConverterProvider, clientProvider, cloudListener, idleTimeout, closeOnIdleTimeout, operationTimeout, productInfo, modelId) { }
protected CloudConnection( IIdentity identity, Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ITransportSettings[] transportSettings, IMessageConverterProvider messageConverterProvider, IClientProvider clientProvider, ICloudListener cloudListener, TimeSpan idleTimeout, bool closeOnIdleTimeout, TimeSpan operationTimeout, string productInfo, Option <string> modelId) { this.Identity = Preconditions.CheckNotNull(identity, nameof(identity)); this.ConnectionStatusChangedHandler = connectionStatusChangedHandler; this.transportSettingsList = Preconditions.CheckNotNull(transportSettings, nameof(transportSettings)); this.messageConverterProvider = Preconditions.CheckNotNull(messageConverterProvider, nameof(messageConverterProvider)); this.clientProvider = Preconditions.CheckNotNull(clientProvider, nameof(clientProvider)); this.cloudListener = Preconditions.CheckNotNull(cloudListener, nameof(cloudListener)); this.idleTimeout = idleTimeout; this.closeOnIdleTimeout = closeOnIdleTimeout; this.cloudProxy = Option.None <ICloudProxy>(); this.operationTimeout = operationTimeout; this.productInfo = productInfo; this.modelId = modelId; }
public CloudReceiver(CloudProxy cloudProxy, ICloudListener cloudListener) { this.cloudProxy = Preconditions.CheckNotNull(cloudProxy, nameof(cloudProxy)); this.cloudListener = Preconditions.CheckNotNull(cloudListener, nameof(cloudListener)); IMessageConverter <TwinCollection> converter = cloudProxy.messageConverterProvider.Get <TwinCollection>(); this.desiredUpdateHandler = new DesiredPropertyUpdateHandler(cloudListener, converter, cloudProxy); }
public CloudConnection(Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ITransportSettings[] transportSettings, IMessageConverterProvider messageConverterProvider, IClientProvider clientProvider, ICloudListener cloudListener) { this.connectionStatusChangedHandler = connectionStatusChangedHandler; this.transportSettingsList = Preconditions.CheckNotNull(transportSettings, nameof(transportSettings)); this.messageConverterProvider = Preconditions.CheckNotNull(messageConverterProvider, nameof(messageConverterProvider)); this.tokenGetter = Option.None <TaskCompletionSource <string> >(); this.clientProvider = Preconditions.CheckNotNull(clientProvider, nameof(clientProvider)); this.cloudListener = Preconditions.CheckNotNull(cloudListener, nameof(cloudListener)); }
public CloudProxy(IClient client, IMessageConverterProvider messageConverterProvider, string clientId, Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ICloudListener cloudListener) { this.client = Preconditions.CheckNotNull(client, nameof(client)); this.messageConverterProvider = Preconditions.CheckNotNull(messageConverterProvider, nameof(messageConverterProvider)); this.clientId = Preconditions.CheckNonWhiteSpace(clientId, nameof(clientId)); this.cloudReceiver = new CloudReceiver(this, Preconditions.CheckNotNull(cloudListener, nameof(cloudListener))); if (connectionStatusChangedHandler != null) { this.connectionStatusChangedHandler = connectionStatusChangedHandler; } }
public CloudProxy(IClient client, IMessageConverterProvider messageConverterProvider, string clientId, Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ICloudListener cloudListener, TimeSpan idleTimeout) { this.client = Preconditions.CheckNotNull(client, nameof(client)); this.messageConverterProvider = Preconditions.CheckNotNull(messageConverterProvider, nameof(messageConverterProvider)); this.clientId = Preconditions.CheckNonWhiteSpace(clientId, nameof(clientId)); this.cloudReceiver = new CloudReceiver(this, Preconditions.CheckNotNull(cloudListener, nameof(cloudListener))); this.timer = new Timer(idleTimeout.TotalMilliseconds); this.timer.Elapsed += this.HandleIdleTimeout; this.timer.Start(); if (connectionStatusChangedHandler != null) { this.connectionStatusChangedHandler = connectionStatusChangedHandler; } }
public CloudConnection(Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ITransportSettings[] transportSettings, IMessageConverterProvider messageConverterProvider, IClientProvider clientProvider, ICloudListener cloudListener, ITokenProvider edgeHubTokenProvider, IDeviceScopeIdentitiesCache deviceScopeIdentitiesCache, TimeSpan idleTimeout) { this.connectionStatusChangedHandler = connectionStatusChangedHandler; this.transportSettingsList = Preconditions.CheckNotNull(transportSettings, nameof(transportSettings)); this.messageConverterProvider = Preconditions.CheckNotNull(messageConverterProvider, nameof(messageConverterProvider)); this.tokenGetter = Option.None <TaskCompletionSource <string> >(); this.clientProvider = Preconditions.CheckNotNull(clientProvider, nameof(clientProvider)); this.cloudListener = Preconditions.CheckNotNull(cloudListener, nameof(cloudListener)); this.idleTimeout = idleTimeout; this.edgeHubTokenProvider = Preconditions.CheckNotNull(edgeHubTokenProvider, nameof(edgeHubTokenProvider)); this.deviceScopeIdentitiesCache = Preconditions.CheckNotNull(deviceScopeIdentitiesCache, nameof(deviceScopeIdentitiesCache)); }
public CloudProxy(IClient client, IMessageConverterProvider messageConverterProvider, string clientId, Action <string, CloudConnectionStatus> connectionStatusChangedHandler, ICloudListener cloudListener, TimeSpan idleTimeout, bool closeOnIdleTimeout) { this.client = Preconditions.CheckNotNull(client, nameof(client)); this.messageConverterProvider = Preconditions.CheckNotNull(messageConverterProvider, nameof(messageConverterProvider)); this.clientId = Preconditions.CheckNonWhiteSpace(clientId, nameof(clientId)); this.cloudReceiver = new CloudReceiver(this, Preconditions.CheckNotNull(cloudListener, nameof(cloudListener))); this.timer = new ResettableTimer(this.HandleIdleTimeout, idleTimeout, Events.Log, true); this.timer.Start(); this.closeOnIdleTimeout = closeOnIdleTimeout; if (connectionStatusChangedHandler != null) { this.connectionStatusChangedHandler = connectionStatusChangedHandler; } Events.Initialized(this); }
public void BindCloudListener(ICloudListener cloudListener) { this.cloudReceiver = new CloudReceiver(this, cloudListener); Events.BindCloudListener(this); }