/// <summary> /// Create graphic dynamic virtual channel over UDP transport. /// </summary> private bool InitializeForSoftSync(DynamicVC_TransportType transportType = DynamicVC_TransportType.RDP_UDP_Reliable) { uint?channelId = null; if (!rdpedycServer.IsMultipleTransportCreated(transportType)) { rdpedycServer.CreateMultipleTransport(transportType); this.TestSite.Log.Add(LogEntryKind.Comment, "Expect for Client Initiate Multitransport PDU to indicate that the client was able to successfully complete the multitransport initiation request."); rdpbcgrAdapter.WaitForPacket <Client_Initiate_Multitransport_Response_PDU>(waitTime); TestSite.Assert.IsTrue( rdpbcgrAdapter.SessionContext.ClientInitiateMultitransportResponsePDU.hrResponse == HrResponse_Value.S_OK, "hrResponse field should be {0}", HrResponse_Value.S_OK); channelId = DynamicVirtualChannel.NewChannelId(); List <uint> list = new List <uint>(); list.Add((uint)channelId); Dictionary <TunnelType_Value, List <uint> > channelListDic = new Dictionary <TunnelType_Value, List <uint> >(); TunnelType_Value tunnelType = TunnelType_Value.TUNNELTYPE_UDPFECR; if (transportType == DynamicVC_TransportType.RDP_UDP_Lossy) { tunnelType = TunnelType_Value.TUNNELTYPE_UDPFECL; } channelListDic.Add(tunnelType, list); rdpedycServer.SoftSyncNegotiate(waitTime, channelListDic); } return(this.rdpegfxAdapter.CreateEGFXDvc(rdpedycServer, transportType, channelId)); }
/// <summary> /// Constructor. /// </summary> public SoftSyncChannelList(TunnelType_Value tunnelType, ushort numberOfDVCs, List<uint> listOfIds = null) { this.TunnelType = tunnelType; this.NumberOfDVCs = numberOfDVCs; if (listOfIds != null) this.ListOfDVCIds = listOfIds.ToArray(); }
public SoftSyncResDvcPdu(uint numberOfTunnels, TunnelType_Value[] tunnelsToSwitch) { NumberOfTunnels = numberOfTunnels; TunnelsToSwitch = tunnelsToSwitch; }