public async Task <int> SendMessageAsync(OicMessage request, IOicEndpoint endpoint = null) { var coapEndpoint = endpoint as OicCoapEndpoint ?? throw new ArgumentException($"{nameof(endpoint)} is not of type {nameof(OicCoapEndpoint)}", nameof(endpoint)); var message = request.ToCoapMessage(); var baseRequest = message.Clone(); baseRequest.Payload = null; _requestMessages.Add(request.RequestId, baseRequest); return((await _client.SendAsync(message, coapEndpoint._coapEndpoint)).Id); }
public async Task <OicRequestHandle> SendAsync(OicMessage message, IOicEndpoint endpoint = null) { var handle = GetHandle(message); if (endpoint != null) { await endpoint.Transport.SendMessageAsync(message, endpoint); } else { await Task.WhenAny(_transports.Select(t => { _logger?.LogDebug($"Sending message (requestId: {handle.RequestId}) to {t}"); return(t.SendMessageAsync(message)); })); } return(handle); }
public Task <int> SendMessageAsync(OicMessage message, IOicEndpoint endpoint = null) { return(IsDisposed ? throw new OicException("Encdpoint Disposed") : MockSendMessageAsync(message)); }