Exemplo n.º 1
0
        // ASSUMPTION: Caller has checked UnreadPacketCount > 0, otherwise calling this would be
        //             unneccessary.
        internal List <Packet> Read()
        {
            allUnreadPackets.Clear();

            allUnreadPackets.Capacity = UnreadPacketCount;

            if (noneReceiveChannel.Count > 0)
            {
                allUnreadPackets.AddRange(noneReceiveChannel.Read());
            }
            if (inOrderReceiveChannel.Count > 0)
            {
                allUnreadPackets.AddRange(inOrderReceiveChannel.Read());
            }
            if (reliableReceiveChannel.Count > 0)
            {
                allUnreadPackets.AddRange(reliableReceiveChannel.Read());
            }
            if (reliableInOrderReceiveChannel.Count > 0)
            {
                allUnreadPackets.AddRange(reliableInOrderReceiveChannel.Read());
            }

            unreadPacketCount = 0;

            return(allUnreadPackets);
        }