Example #1
0
        private void OnWriterComplete(IWrappedWriter writer)
        {
            WrappedMemory memory = writer as WrappedMemory;

            if (memory.Flag == MemoryFlag.Kcp)
            {
                var readableMemory = memory.GetReadableMemory();

                if (readableMemory.Length < 1)
                {
                    return;
                }
                //Console.WriteLine("kcp数据写入完成》》" + readableMemory.Length);
                this.sndQueue.Enqueue(memory);
            }
            else if (memory.Flag == MemoryFlag.Udp)
            {
                this.udpSession.Write(this.RemoteAddress, memory);
                this.udpSession.FlushAsync().NoAwait();
            }
        }
Example #2
0
 public WrappedWriter(IWrappedWriter writer, BinaryOrder order, WriterFlushDelegate writerFlush)
 {
     this.writer      = writer;
     this.writerFlush = writerFlush;
     this.operators   = BinaryOrderOperatorsFactory.GetOperators(order);
 }