Example #1
0
        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);
        }
Example #2
0
        /// <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;
        }