/// <summary> /// Create method server that presumes the publisher module is named /// "publisher" and resides on the same gateway device as the one in /// the passed in identity. /// </summary> /// <param name="client"></param> /// <param name="identity"></param> /// <param name="logger"></param> public PublisherMethodClient(IJsonMethodClient client, IIdentity identity, ILogger logger) { _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _identity = identity ?? throw new ArgumentNullException(nameof(identity)); }
/// <summary> /// Create client /// </summary> /// <param name="client"></param> /// <param name="publishers"></param> /// <param name="logger"></param> public PublisherMethodClient(IJsonMethodClient client, IPublisherEndpointQuery publishers, ILogger logger) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _client = client ?? throw new ArgumentNullException(nameof(client)); _publishers = publishers ?? throw new ArgumentNullException(nameof(publishers)); }
/// <summary> /// Create server /// </summary> /// <param name="client"></param> /// <param name="deviceId"></param> /// <param name="moduleId"></param> /// <param name="logger"></param> public PublisherMethodClient(IJsonMethodClient client, string deviceId, string moduleId, ILogger logger) { _client = client ?? throw new ArgumentNullException(nameof(client)); _moduleId = moduleId ?? throw new ArgumentNullException(nameof(moduleId)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _deviceId = deviceId ?? throw new ArgumentNullException(nameof(deviceId)); }
/// <summary> /// Create server /// </summary> /// <param name="modules"></param> /// <param name="identity"></param> /// <param name="methods"></param> /// <param name="discovery"></param> /// <param name="client"></param> /// <param name="logger"></param> public PublisherDiscovery(IModuleDiscovery modules, IIdentity identity, IJsonMethodClient methods, IEndpointDiscovery discovery, IEndpointServices client, ILogger logger) { _identity = identity ?? throw new ArgumentNullException(nameof(identity)); _methods = methods ?? throw new ArgumentNullException(nameof(methods)); _client = client ?? throw new ArgumentNullException(nameof(client)); _modules = modules ?? throw new ArgumentNullException(nameof(modules)); _discovery = discovery ?? throw new ArgumentNullException(nameof(discovery)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Create client wrapping a json method client /// </summary> /// <param name="client"></param> /// <param name="logger"></param> public ChunkMethodClient(IJsonMethodClient client, ILogger logger) { _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); // // assume base64 encoding is 33% reduction compared to raw bytes // plus the additional overhead of the model payload. // _maxSize = (int)(_client.MaxMethodPayloadCharacterCount * 0.66); if (_maxSize == 0) { _maxSize = 1; } }