Exemplo n.º 1
0
        public void Pack(UdpStream buffer, UdpSocket socket, bool sendNow)
        {
            int pos = buffer.Position;

            sendNow &= buffer.CanWrite (32);
            if (sendNow)
            {
                buffer.WriteUInt (this.Now);
                pos = buffer.Position;
            }

            buffer.Position = 0;
            buffer.WriteUShort(PadSequence(ObjSequence), SEQ_BITS + SEQ_PADD);
            PackAckSequence (buffer, sendNow);
            buffer.WriteULong(AckHistory, UdpSocket.AckRedundancy);

            if (UdpSocket.CalculateNetworkPing) {
                buffer.WriteUShort(AckTime, NETPING_BITS);
            }

            buffer.Position = pos;
        }
Exemplo n.º 2
0
        public void Pack(UdpStream buffer, UdpSocket socket, bool sendNow)
        {
            int pos = buffer.Position;

            sendNow &= buffer.CanWrite(32);
            if (sendNow)
            {
                buffer.WriteUInt(this.Now);
                pos = buffer.Position;
            }

            buffer.Position = 0;
            buffer.WriteUShort(PadSequence(ObjSequence), SEQ_BITS + SEQ_PADD);
            PackAckSequence(buffer, sendNow);
            buffer.WriteULong(AckHistory, UdpSocket.AckRedundancy);

            if (UdpSocket.CalculateNetworkPing)
            {
                buffer.WriteUShort(AckTime, NETPING_BITS);
            }

            buffer.Position = pos;
        }