Beispiel #1
0
 public TunnelWriter(TunnelPipeline tunnelPipeline, byte[] headerBuffer, IPacket packet, IOCallback <TState> callback, TState state)
 {
     this.tunnelPipeline = tunnelPipeline;
     this.packet         = packet;
     this.callback       = callback;
     this.state          = state;
     this.headerBuffer   = headerBuffer;
 }
Beispiel #2
0
 public TunnelPacketWriter(TunnelPipeline tunnelPipeline)
 {
     if (BufferPacket.BufferSize < TunnelPacket.HeaderSize)
     {
         throw new InvalidOperationException($"Packet.BufferSize < {TunnelPacket.HeaderSize}");
     }
     this.tunnelPipeline = tunnelPipeline;
     transPacket         = new BufferPacket(tunnelPipeline);
 }
Beispiel #3
0
        /// <summary>
        /// 构造
        /// </summary>
        /// <param name="source"></param>
        /// <param name="type"></param>
        /// <param name="data"></param>
        public OutputTunnelPacket(TunnelPipeline source, byte[] header, TunnelPacketType type, PacketData data) : base(source)
        {
            Type        = type;
            this.header = header;
            this.Length = data?.Size ?? 0;
            this.data   = data;

            HeaderSerializer.Serialize((int)type, data?.Size ?? 0, header);
        }
Beispiel #4
0
 public InputTunnelPacket(TunnelPipeline pipeline) : base(pipeline)
 {
     trans = pipeline.TransPipeline;
 }
Beispiel #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="pipeline"></param>
 public TunnelPacket(TunnelPipeline pipeline)
 {
     this.pipeline = pipeline;
 }