Microsoft.Protocols.TestSuites.Rdpeudp.RdpeudpTestSuite.WaitForSourcePacket C# (CSharp) Method

WaitForSourcePacket() private method

Expect for a Source Packet.
private WaitForSourcePacket ( TransportMode udpTransportMode, System.TimeSpan timeout, uint sequnceNumber ) : RdpeudpPacket
udpTransportMode TransportMode Transport mode: reliable or lossy.
timeout System.TimeSpan Wait time
sequnceNumber uint
return Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpeudp.RdpeudpPacket
        private RdpeudpPacket WaitForSourcePacket(TransportMode udpTransportMode, TimeSpan timeout, uint sequnceNumber = 0)
        {
            RdpeudpSocket rdpeudpSocket = rdpeudpSocketR;
            if (udpTransportMode == TransportMode.Lossy)
            {
                rdpeudpSocket = rdpeudpSocketL;
            }

            DateTime endTime = DateTime.Now + timeout;

            while (DateTime.Now < endTime)
            {
                RdpeudpPacket packet = rdpeudpSocket.ExpectPacket(endTime - DateTime.Now);
                if (packet!=null && packet.fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_DATA))
                {
                    if (sequnceNumber == 0||packet.sourceHeader.Value.snSourceStart == sequnceNumber)
                    {
                        return packet;
                    }
                }
            }

            return null;
        }