/// <summary> /// Decode MCS Channel Join Request PDU /// </summary> /// <param name="data">data to be parsed</param> /// <returns>decoded MCS Channel Join Request PDU</returns> public StackPacket DecodeMcsChannelJoinRequestPDU(byte[] data) { // initialize int currentIndex = 0; Client_MCS_Channel_Join_Request pdu = new Client_MCS_Channel_Join_Request(); // McsChannelJoinConfirm: TpktHeader pdu.tpktHeader = ParseTpktHeader(data, ref currentIndex); // McsChannelJoinConfirm: x224Data pdu.x224Data = ParseX224Data(data, ref currentIndex); // McsChannelJoinConfirm: channelJoinConfirm ChannelJoinRequest channelJoinReq = (ChannelJoinRequest)ParseMcsDomainPdu(data, ref currentIndex).GetData(); pdu.userChannelId = (long)channelJoinReq.initiator.Value; pdu.mcsChannelId = (long)channelJoinReq.channelId.Value; // Check if data length exceeded expectation VerifyDataLength(data.Length, currentIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED); return pdu; }
/// <summary> /// 2.2.1.8 /// </summary> /// <param name="channelJoinPdu"></param> public void VerifyPdu(Client_MCS_Channel_Join_Request channelJoinPdu) { }
/// <summary> /// Create an instance of the class that is identical to the current PDU. /// </summary> /// <returns>The new instance.</returns> public override StackPacket Clone() { Client_MCS_Channel_Join_Request cloneMcsChanneelJoinPdu = new Client_MCS_Channel_Join_Request(context); cloneMcsChanneelJoinPdu.mcsChannelId = mcsChannelId; cloneMcsChanneelJoinPdu.userChannelId = userChannelId; cloneMcsChanneelJoinPdu.tpktHeader = tpktHeader; cloneMcsChanneelJoinPdu.x224Data = x224Data; return cloneMcsChanneelJoinPdu; }