public void OnTransportWrite(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { //Console.WriteLine($"{nameof(UdpFilter_2)}.{nameof(OnTransportWrite)}"); var buffer = args.Value as byte[]; writer.Write(buffer); }
public void SendUnreliableAsync(object o) { lock (this.snd_sync) { if (this.isClosed) { return; } try { this.writerUdpMemory.Clear(); //conv使用kcp的序列写入,保证与kcp一致 var span = this.writerUdpMemory.GetWritableSpan(4); this.kcpOperators.WriteUInt32(span, this.Conv); writerUdpMemory.WriterAdvance(4); var writer = new WrappedWriter(this.writerUdpMemory, this.Order, this.writerFlushDelegate); this.Pipeline.OnTransportWrite(this, ref writer, o); writer.Flush(); } catch (Exception e) { this.DeliverException(e); } } }
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { var buffer = args.Value as byte[]; writer.Write(buffer); writer.Write(this.symbol); }
public void OnTransportWrite(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { byte[] bytes = args.Value as byte[]; if (bytes != null) { writer.Write(bytes.Length); writer.Write(bytes); } }
public void OnTransportWrite(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { if (this.isInvalid || this.isStop) { return; } this.controller.OnUdpMessageOutput(session, ref writer, args); }
public void OnTransportWrite(TSession session, ref WrappedWriter writer, object o) { this.writeArgs.Value = o; int count = this.filters.Count; for (int i = 0; i < count; i++) { this.filters[i].OnTransportWrite(session, ref writer, this.writeArgs); } }
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { var buffer = args.Value as byte[]; if (buffer.Length > this.maxPackLength) { throw new Exception("pack length error!!!" + buffer.Length); } writer.Write((int)buffer.Length); writer.Write(buffer); }
public override void OnUdpMessageOutput(IUdpSession session, ref WrappedWriter writer, WrappedArgs args) { IWrappedMemory memory = args.Value as IWrappedMemory; if (memory.Flag == MemoryFlag.Kcp) { //kcp协议 writer.Write(k_message); } else if (memory.Flag == MemoryFlag.Udp) { //普通udp协议 writer.Write(c_message); } writer.Write(memory.GetReadableMemory()); }
public void Write(EndPoint remoteAddress, object o) { lock (this.sync) { this.SndAddress = remoteAddress; var segment = this.SndPipeWriter.GetSegment(); segment.Token = remoteAddress; try { var writer = new WrappedWriter(segment, this.Order, this.writerFlushCallback); this.filterPipeline.OnTransportWrite(this, ref writer, o); writer.Flush(); } catch (Exception e) { this.DeliverException(e); this.SndPipeWriter.Complete(); } } }
public void SendReliableAsync(object o) { lock (this.snd_sync) { if (this.isClosed) { return; } try { var memory = this.sndPool.Pop(); var writer = new WrappedWriter(memory, this.Order, this.writerFlushDelegate); this.Pipeline.OnTransportWrite(this, ref writer, o); writer.Flush(); } catch (Exception e) { this.DeliverException(e); } } }
public override void Write(object o) { lock (sync) { if (this.isDisposed) { return; } WrappedWriter writer = new WrappedWriter(this.Output, this.Order, this.writerFlushCallback); try { this.filterPipeline.OnTransportWrite(this, ref writer, o); } catch (Exception e) { this.DeliverException(e); } finally { writer.Flush(); } } }
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { }
public abstract void OnUdpMessageOutput(IUdpSession session, ref WrappedWriter writer, WrappedArgs args);
public void OnTransportWrite(ITcpSession session, ref WrappedWriter writer, WrappedArgs args) { // Console.WriteLine($"{nameof(TcpTestFilter_Client)}.{nameof(OnTransportWrite)}"); }
public void OnTransportWrite(IKcpSession session, ref WrappedWriter writer, WrappedArgs args) { byte[] bytes = args.Value as byte[]; //Console.WriteLine("kcp pipeline写入数据>>" + bytes.Length); writer.Write(bytes); }