/// <summary> /// Create service /// </summary> /// <param name="client"></param> /// <param name="serializer"></param> /// <param name="logger"></param> public TwinModuleDiagnosticsClient(IMethodClient client, IJsonSerializer serializer, ILogger logger) { _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Create client /// </summary> /// <param name="client"></param> /// <param name="serializer"></param> /// <param name="logger"></param> public DiscovererModuleClient(IMethodClient client, IJsonSerializer serializer, ILogger logger) { _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Create module client /// </summary> /// <param name="methodClient"></param> /// <param name="deviceId"></param> /// <param name="moduleId"></param> /// <param name="serializer"></param> public TwinModuleClient(IMethodClient methodClient, string deviceId, string moduleId, IJsonSerializer serializer = null) { _serializer = serializer ?? new NewtonSoftJsonSerializer(); _methodClient = methodClient ?? throw new ArgumentNullException(nameof(methodClient)); _moduleId = moduleId ?? throw new ArgumentNullException(nameof(moduleId)); _deviceId = deviceId ?? throw new ArgumentNullException(nameof(deviceId)); }
/// <summary> /// Create server /// </summary> /// <param name="client"></param> /// <param name="http"></param> /// <param name="logger"></param> public HttpTunnelServer(IMethodClient client, IHttpClient http, ILogger logger) { _client = client ?? throw new ArgumentNullException(nameof(client)); _http = http ?? throw new ArgumentNullException(nameof(http)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _requests = new ConcurrentDictionary <string, HttpRequestProcessor>(); _timer = new Timer(_ => OnTimer(), null, kTimeoutCheckInterval, kTimeoutCheckInterval); }
/// <summary> /// Call method with json payload. /// </summary> /// <param name="client"></param> /// <param name="deviceId"></param> /// <param name="moduleId"></param> /// <param name="method"></param> /// <param name="json"></param> /// <param name="timeout"></param> /// <param name="ct"></param> /// <returns></returns> public static async Task <string> CallMethodAsync(this IMethodClient client, string deviceId, string moduleId, string method, string json, TimeSpan?timeout = null, CancellationToken ct = default) { var response = await client.CallMethodAsync(deviceId, moduleId, method, json == null?null : Encoding.UTF8.GetBytes(json), ContentMimeType.Json, timeout, ct); return(response.Length == 0 ? null : Encoding.UTF8.GetString(response)); }
/// <summary> /// Call method with json payload. /// </summary> /// <param name="client"></param> /// <param name="deviceId"></param> /// <param name="moduleId"></param> /// <param name="method"></param> /// <param name="json"></param> /// <param name="timeout"></param> /// <returns></returns> public static async Task <string> CallMethodAsync(this IMethodClient client, string deviceId, string moduleId, string method, string json, TimeSpan?timeout = null) { var response = await client.CallMethodAsync(deviceId, moduleId, method, Encoding.UTF8.GetBytes(json), ContentEncodings.MimeTypeUaJson, timeout); return(Encoding.UTF8.GetString(response)); }
/// <summary> /// Create module client /// </summary> /// <param name="methodClient"></param> /// <param name="config"></param> /// <param name="serializer"></param> public TwinModuleClient(IMethodClient methodClient, ITwinModuleConfig config, IJsonSerializer serializer) : this(methodClient, config?.DeviceId, config?.ModuleId, serializer) { }
/// <summary> /// Create client /// </summary> /// <param name="client"></param> /// <param name="logger"></param> public DiscoveryClient(IMethodClient client, ILogger logger) { _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Create module client /// </summary> /// <param name="methodClient"></param> /// <param name="config"></param> public HistoryModuleClient(IMethodClient methodClient, IHistoryModuleConfig config) : this(methodClient, config?.DeviceId, config?.ModuleId) { }
/// <summary> /// Create module client /// </summary> /// <param name="methodClient"></param> /// <param name="deviceId"></param> /// <param name="moduleId"></param> public HistoryModuleClient(IMethodClient methodClient, string deviceId, string moduleId) { _methodClient = methodClient ?? throw new ArgumentNullException(nameof(methodClient)); _moduleId = moduleId ?? throw new ArgumentNullException(nameof(moduleId)); _deviceId = deviceId ?? throw new ArgumentNullException(nameof(deviceId)); }
/// <summary> /// Create module client /// </summary> /// <param name="methodClient"></param> /// <param name="config"></param> public TwinModuleClient(IMethodClient methodClient, ITwinModuleConfig config) : this(methodClient, config?.DeviceId, config?.ModuleId) { }
/// <summary> /// Create module client /// </summary> /// <param name="methodClient"></param> /// <param name="config"></param> /// <param name="serializer"></param> public HistoryModuleClient(IMethodClient methodClient, IHistoryModuleConfig config, ISerializer serializer) : this(methodClient, config?.DeviceId, config?.ModuleId, serializer) { }