private TPDU(byte[] packet, int packetLen) { if (packetLen < 3) { throw new Exception("TPUD: Packet size lower than 3 bytes."); } Li = packet[0]; PDUType = (packet[1] >> 4); switch (PDUType) { case (int)TPDU_TYPES.CR: PduCon = new TPDUConnection(packet); break; case (int)TPDU_TYPES.CC: PduCon = new TPDUConnection(packet); break; case (int)TPDU_TYPES.DT: PduData = new TPDUData(packet); break; } }
public void MakeDataPacket(byte[] data, int sourceIndex, int length, bool lastDataUnit) { PDUType = (int)TPDU_TYPES.DT; Li = 2; PduData = new TPDUData(); PduData.TPDUNr = 0; PduData.EOT = lastDataUnit; PduData.Payload = new byte[length]; PduData.PayloadLength = length; Array.Copy(data, sourceIndex, PduData.Payload, 0, length); }