Example #1
0
        /// <summary>
        /// Send control packet
        /// </summary>
        /// <param name="flags">SMUX header flags</param>
        private void SendControlPacket(SNISMUXFlags flags)
        {
            byte[] headerBytes = null;

            lock (this)
            {
                GetSMUXHeaderBytes(0, (byte)flags, ref headerBytes);
            }

            SNIPacket packet = new SNIPacket();

            packet.SetData(headerBytes, SNISMUXHeader.HEADER_LENGTH);

            _connection.Send(packet);
        }
Example #2
0
        /// <summary>
        /// Send control packet
        /// </summary>
        /// <param name="flags">SMUX header flags</param>
        /// <param name="async">true if packet should be sent asynchronously</param>
        private void SendControlPacket(SNISMUXFlags flags, bool async)
        {
            byte[] headerBytes = null;

            lock (this)
            {
                GetSMUXHeaderBytes(0, (byte)flags, ref headerBytes);
            }

            SNIPacket packet = new SNIPacket(null);

            packet.SetData(headerBytes, SNISMUXHeader.HEADER_LENGTH);

            if (async)
            {
                _connection.SendAsync(packet, (sentPacket, error) => { });
            }
            else
            {
                _connection.Send(packet);
            }
        }
Example #3
0
 /// <summary>
 /// Set packet data
 /// </summary>
 /// <param name="packet">SNI packet</param>
 /// <param name="data">Data</param>
 /// <param name="length">Length</param>
 public void PacketSetData(SNIPacket packet, byte[] data, int length)
 {
     packet.SetData(data, length);
 }