Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpedyc.RdpedycServer.ExpectDVCClosePDU C# (CSharp) Méthode

ExpectDVCClosePDU() private méthode

Expect a DVC Close PDU
private ExpectDVCClosePDU ( TimeSpan timeout, uint channelId, DynamicVC_TransportType transportType ) : CloseDvcPdu
timeout TimeSpan Time out
channelId uint Channel ID
transportType DynamicVC_TransportType Transport Type
Résultat CloseDvcPdu
        private CloseDvcPdu ExpectDVCClosePDU(TimeSpan timeout, uint channelId, DynamicVC_TransportType transportType)
        {
            DateTime endTime = DateTime.Now + timeout;
            while (DateTime.Now < endTime)
            {
                if (unprocessedDVCPacketBuffer.Count > 0)
                {
                    lock (unprocessedDVCPacketBuffer)
                    {
                        if (unprocessedDVCPacketBuffer.Count > 0)
                        {
                            for (int i = 0; i < unprocessedDVCPacketBuffer.Count; i++)
                            {
                                if (transportType == unprocessedDVCPacketBuffer[i].TransportType
                                    && unprocessedDVCPacketBuffer[i].PDU is CloseDvcPdu
                                    && (unprocessedDVCPacketBuffer[i].PDU as CloseDvcPdu).ChannelId == channelId)
                                {
                                    CloseDvcPdu pdu = unprocessedDVCPacketBuffer[i].PDU as CloseDvcPdu;
                                    unprocessedDVCPacketBuffer.RemoveAt(i);
                                    return pdu;
                                }
                            }
                        }
                    }
                }

                Thread.Sleep(this.waitInterval);
            }
            return null;
        }