コード例 #1
0
        public AResponse SendRequest(ARequest request)
        {
            byte[] payload = null;
            using (MemoryStream stream = new MemoryStream())
            {
                using (BinaryWriter writer = new BinaryWriter(stream))
                {
                    request.Write(writer);
                    payload = stream.ToArray();
                }
            }
            connection.SendMessage(new Message(MessageType.MessagePayload, payload));

            Message response_message = message_queue.Take();

            using (MemoryStream stream = new MemoryStream(response_message.Payload))
            {
                using (BinaryReader reader = new BinaryReader(stream))
                {
                    return(AResponse.Read(reader));
                }
            }
        }
コード例 #2
0
        public void Handle(Message message)
        {
            BinaryReader reader = new BinaryReader(new MemoryStream(message.Payload));

            handler.Enqueue(this, ARequest.Read(reader));
        }
コード例 #3
0
 public void Enqueue(ConnectionTradingOnServer source, ARequest request)
 {
     RequestQueue.Enqueue(new Tuple <ConnectionTradingOnServer, ARequest>(source, request));
 }