public virtual Task <byte[]> SendRequestAsync(string service, byte[] message) { var outgoingMessage = new ClientEngine.OutgoingMessage(new TaskCompletionSource <byte[]>(), service, message, false); // NetMQQueue is thread safe, so no need to lock m_outgoingQueue.Enqueue(outgoingMessage); return(outgoingMessage.TaskCompletionSource.Task); }
/// <summary> /// Send a request to the server and return the reply /// </summary> /// <param name="service">Service the message should route to</param> /// <param name="message">Message to send</param> /// <returns>Reply from server</returns> public Task<object> SendRequestAsync(string service, object message) { var outgoingMessage = new ClientEngine.OutgoingMessage(new TaskCompletionSource<object>(), service, message, false); // NetMQQueue is thread safe, so no need to lock m_outgoingQueue.Enqueue(outgoingMessage); return outgoingMessage.TaskCompletionSource.Task; }