예제 #1
0
        public override void WriteTo(byte[] buf, ref int i)
        {
            var stream = new BitDataOutputStream(buf, i);

            _innerMessage.WriteTo(stream);
            i = stream.i;
        }
예제 #2
0
 protected override void Send(Message message)           // main thread
 {
     lock (_sendingMsgCache) {
         var copy  = Message.New(message.MessageType);
         var read  = new BitDataInputStream(_exchange);
         var write = new BitDataOutputStream(_exchange);
         message.WriteTo(write);
         copy.ReadFrom(read);
         _sendingMsgCache.Enqueue(copy);
         Monitor.Pulse(_sendingMsgCache);
     }
 }