/// <summary> /// Fragment and send PDU. /// </summary> /// <param name="sessionContext">Context of the RPCE session</param> /// <param name="pdu">PDU to Fragment and send.</param> private void FragmentAndSendPdu( RpceServerSessionContext sessionContext, RpceCoPdu pdu) { if (pdu.PTYPE == RpcePacketType.Bind || pdu.PTYPE == RpcePacketType.BindAck || pdu.PTYPE == RpcePacketType.AlterContext || pdu.PTYPE == RpcePacketType.AlterContextResp || pdu.PTYPE == RpcePacketType.Auth3) { pdu.InitializeAuthenticationToken(); pdu.SetLength(); foreach (RpceCoPdu fragPdu in RpceUtility.FragmentPdu(sessionContext, pdu)) { rpceServer.SendPdu(sessionContext, fragPdu); } } else { foreach (RpceCoPdu fragPdu in RpceUtility.FragmentPdu(sessionContext, pdu)) { fragPdu.InitializeAuthenticationToken(); rpceServer.SendPdu(sessionContext, fragPdu); } } }