Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpeudp.RdpeudpSocket.UpdateOutSnAckOfAcksSeqNum C# (CSharp) Method

UpdateOutSnAckOfAcksSeqNum() private method

Used during sending source packet, Add RDPUDP_ACK_OF_ACKVECTOR_HEADER structure into the packet to update OutSnAckOfAcksSeqNum
private UpdateOutSnAckOfAcksSeqNum ( RdpeudpPacket eudpPacket ) : void
eudpPacket RdpeudpPacket Packet to be sent
return void
        private void UpdateOutSnAckOfAcksSeqNum(RdpeudpPacket eudpPacket)
        {
            if (newOutSnAckOfAcksSeqNum == null
                && SendWindowStartPosition - 1 - OutSnAckOfAcksSeqNum > this.SocketConfig.changeSnAckOfAcksSeqNumInterval)
            {
                Monitor.Enter(updateAckOfAckLock);
                if (newOutSnAckOfAcksSeqNum == null
                    && SendWindowStartPosition - 1 - OutSnAckOfAcksSeqNum > this.SocketConfig.changeSnAckOfAcksSeqNumInterval)
                {
                    newOutSnAckOfAcksSeqNum = SendWindowStartPosition - 1;
                    RDPUDP_ACK_OF_ACKVECTOR_HEADER ackOfAckVector = new RDPUDP_ACK_OF_ACKVECTOR_HEADER();
                    ackOfAckVector.snAckOfAcksSeqNum = newOutSnAckOfAcksSeqNum.Value;
                    eudpPacket.ackOfAckVector = ackOfAckVector;
                    eudpPacket.fecHeader.uFlags = RDPUDP_FLAG.RDPUDP_FLAG_ACK_OF_ACKS | eudpPacket.fecHeader.uFlags;
                    seqNumofPacketWithAckOfAckVector = eudpPacket.sourceHeader.Value.snSourceStart;
                }
                Monitor.Exit(updateAckOfAckLock);
            }
        }

Same methods

RdpeudpSocket::UpdateOutSnAckOfAcksSeqNum ( uint receivedSnSourceAck ) : void