LiteNetLib.SimpleChannel.AddToQueue C# (CSharp) Method

AddToQueue() public method

public AddToQueue ( NetPacket packet ) : void
packet NetPacket
return void
        public void AddToQueue(NetPacket packet)
        {
            lock (_outgoingPackets)
            {
                _outgoingPackets.Enqueue(packet);
            }
        }

Usage Example

Ejemplo n.º 1
0
        //from user thread, our thread, or recv?
        private void SendPacket(NetPacket packet)
        {
            switch (packet.Property)
            {
            case PacketProperty.Reliable:
                DebugWrite("[RS]Packet reliable");
                _reliableUnorderedChannel.AddToQueue(packet);
                break;

            case PacketProperty.Sequenced:
                DebugWrite("[RS]Packet sequenced");
                _sequencedChannel.AddToQueue(packet);
                break;

            case PacketProperty.ReliableOrdered:
                DebugWrite("[RS]Packet reliable ordered");
                _reliableOrderedChannel.AddToQueue(packet);
                break;

            case PacketProperty.None:
                DebugWrite("[RS]Packet simple");
                if (_peerListener.GetMaxFlowMode() == -1)
                {
                    SendRawData(packet.RawData);
                    Recycle(packet);
                }
                else
                {
                    _simpleChannel.AddToQueue(packet);
                }
                break;

            case PacketProperty.MtuCheck:
                if (!SendRawData(packet.RawData))
                {
                    _finishMtu = true;
                }
                Recycle(packet);
                break;

            case PacketProperty.AckReliable:
            case PacketProperty.AckReliableOrdered:
            case PacketProperty.Ping:
            case PacketProperty.Pong:
            case PacketProperty.Disconnect:
            case PacketProperty.MtuOk:
                SendRawData(packet.RawData);
                Recycle(packet);
                break;

            default:
                throw new Exception("Unknown packet property: " + packet.Property);
            }
        }
All Usage Examples Of LiteNetLib.SimpleChannel::AddToQueue