/** * Unpacks a Pdu from the underlying data. * * @throws java.nio.BufferUnderflowException if buff is too small * @see java.nio.ByteBuffer * @param buff The ByteBuffer at the position to begin reading * @since ?? */ public void unmarshal(java.nio.ByteBuffer buff) { super.unmarshal(buff); minefieldID.unmarshal(buff); requestingEntityID.unmarshal(buff); minefieldSequenceNumbeer = (int) (buff.getShort() & 0xFFFF); requestID = (short) (buff.get() & 0xFF); pduSequenceNumber = (short) (buff.get() & 0xFF); numberOfPdus = (short) (buff.get() & 0xFF); numberOfMinesInThisPdu = (short) (buff.get() & 0xFF); numberOfSensorTypes = (short) (buff.get() & 0xFF); pad2 = (short) (buff.get() & 0xFF); dataFilter = buff.getInt(); mineType.unmarshal(buff); for (int idx = 0; idx < numberOfSensorTypes; idx++) { TwoByteChunk anX = new TwoByteChunk(); anX.unmarshal(buff); sensorTypes.add(anX); } pad3 = (short) (buff.get() & 0xFF); for (int idx = 0; idx < numberOfMinesInThisPdu; idx++) { Vector3Float anX = new Vector3Float(); anX.unmarshal(buff); mineLocation.add(anX); } } // end of unmarshal method
public void unmarshal(DataInputStream dis) { super.unmarshal(dis); try { minefieldID.unmarshal(dis); requestingEntityID.unmarshal(dis); minefieldSequenceNumbeer = (int) dis.readUnsignedShort(); requestID = (short) dis.readUnsignedByte(); pduSequenceNumber = (short) dis.readUnsignedByte(); numberOfPdus = (short) dis.readUnsignedByte(); numberOfMinesInThisPdu = (short) dis.readUnsignedByte(); numberOfSensorTypes = (short) dis.readUnsignedByte(); pad2 = (short) dis.readUnsignedByte(); dataFilter = dis.readInt(); mineType.unmarshal(dis); for (int idx = 0; idx < numberOfSensorTypes; idx++) { TwoByteChunk anX = new TwoByteChunk(); anX.unmarshal(dis); sensorTypes.add(anX); } pad3 = (short) dis.readUnsignedByte(); for (int idx = 0; idx < numberOfMinesInThisPdu; idx++) { Vector3Float anX = new Vector3Float(); anX.unmarshal(dis); mineLocation.add(anX); } } // end try catch (Exception e) { System.out.println(e); } } // end of unmarshal method
/** * Packs a Pdu into the ByteBuffer. * * @throws java.nio.BufferOverflowException if buff is too small * @throws java.nio.ReadOnlyBufferException if buff is read only * @see java.nio.ByteBuffer * @param buff The ByteBuffer at the position to begin writing * @since ?? */ public void marshal(java.nio.ByteBuffer buff) { super.marshal(buff); minefieldID.marshal(buff); requestingEntityID.marshal(buff); buff.putShort((short) minefieldSequenceNumbeer); buff.put((byte) requestID); buff.put((byte) pduSequenceNumber); buff.put((byte) numberOfPdus); buff.put((byte) mineLocation.size()); buff.put((byte) sensorTypes.size()); buff.put((byte) pad2); buff.putInt((int) dataFilter); mineType.marshal(buff); for (int idx = 0; idx < sensorTypes.size(); idx++) { TwoByteChunk aTwoByteChunk = (TwoByteChunk) sensorTypes.get(idx); aTwoByteChunk.marshal(buff); } // end of list marshalling buff.put((byte) pad3); for (int idx = 0; idx < mineLocation.size(); idx++) { Vector3Float aVector3Float = (Vector3Float) mineLocation.get(idx); aVector3Float.marshal(buff); } // end of list marshalling } // end of marshal method
public void marshal(DataOutputStream dos) { super.marshal(dos); try { minefieldID.marshal(dos); requestingEntityID.marshal(dos); dos.writeShort((short) minefieldSequenceNumbeer); dos.writeByte((byte) requestID); dos.writeByte((byte) pduSequenceNumber); dos.writeByte((byte) numberOfPdus); dos.writeByte((byte) mineLocation.size()); dos.writeByte((byte) sensorTypes.size()); dos.writeByte((byte) pad2); dos.writeInt((int) dataFilter); mineType.marshal(dos); for (int idx = 0; idx < sensorTypes.size(); idx++) { TwoByteChunk aTwoByteChunk = sensorTypes.get(idx); aTwoByteChunk.marshal(dos); } // end of list marshalling dos.writeByte((byte) pad3); for (int idx = 0; idx < mineLocation.size(); idx++) { Vector3Float aVector3Float = mineLocation.get(idx); aVector3Float.marshal(dos); } // end of list marshalling } // end try catch (Exception e) { System.out.println(e); } } // end of marshal method
public void unmarshal(DataInputStream dis) { super.unmarshal(dis); try { minefieldID.unmarshal(dis); requestingEntityID.unmarshal(dis); requestID = (short) dis.readUnsignedByte(); numberOfPerimeterPoints = (short) dis.readUnsignedByte(); pad2 = (short) dis.readUnsignedByte(); numberOfSensorTypes = (short) dis.readUnsignedByte(); dataFilter = dis.readInt(); requestedMineType.unmarshal(dis); for (int idx = 0; idx < numberOfPerimeterPoints; idx++) { Point anX = new Point(); anX.unmarshal(dis); requestedPerimeterPoints.add(anX); } for (int idx = 0; idx < numberOfSensorTypes; idx++) { TwoByteChunk anX = new TwoByteChunk(); anX.unmarshal(dis); sensorTypes.add(anX); } } // end try catch (Exception e) { System.out.println(e); } } // end of unmarshal method
public void marshal(DataOutputStream dos) { super.marshal(dos); try { minefieldID.marshal(dos); requestingEntityID.marshal(dos); dos.writeByte((byte) requestID); dos.writeByte((byte) requestedPerimeterPoints.size()); dos.writeByte((byte) pad2); dos.writeByte((byte) sensorTypes.size()); dos.writeInt((int) dataFilter); requestedMineType.marshal(dos); for (int idx = 0; idx < requestedPerimeterPoints.size(); idx++) { Point aPoint = requestedPerimeterPoints.get(idx); aPoint.marshal(dos); } // end of list marshalling for (int idx = 0; idx < sensorTypes.size(); idx++) { TwoByteChunk aTwoByteChunk = sensorTypes.get(idx); aTwoByteChunk.marshal(dos); } // end of list marshalling } // end try catch (Exception e) { System.out.println(e); } } // end of marshal method
/** * Packs a Pdu into the ByteBuffer. * * @throws java.nio.BufferOverflowException if buff is too small * @throws java.nio.ReadOnlyBufferException if buff is read only * @see java.nio.ByteBuffer * @param buff The ByteBuffer at the position to begin writing * @since ?? */ public void marshal(java.nio.ByteBuffer buff) { super.marshal(buff); minefieldID.marshal(buff); requestingEntityID.marshal(buff); buff.put((byte) requestID); buff.put((byte) requestedPerimeterPoints.size()); buff.put((byte) pad2); buff.put((byte) sensorTypes.size()); buff.putInt((int) dataFilter); requestedMineType.marshal(buff); for (int idx = 0; idx < requestedPerimeterPoints.size(); idx++) { Point aPoint = (Point) requestedPerimeterPoints.get(idx); aPoint.marshal(buff); } // end of list marshalling for (int idx = 0; idx < sensorTypes.size(); idx++) { TwoByteChunk aTwoByteChunk = (TwoByteChunk) sensorTypes.get(idx); aTwoByteChunk.marshal(buff); } // end of list marshalling } // end of marshal method
/** * Unpacks a Pdu from the underlying data. * * @throws java.nio.BufferUnderflowException if buff is too small * @see java.nio.ByteBuffer * @param buff The ByteBuffer at the position to begin reading * @since ?? */ public void unmarshal(java.nio.ByteBuffer buff) { super.unmarshal(buff); minefieldID.unmarshal(buff); requestingEntityID.unmarshal(buff); requestID = (short) (buff.get() & 0xFF); numberOfPerimeterPoints = (short) (buff.get() & 0xFF); pad2 = (short) (buff.get() & 0xFF); numberOfSensorTypes = (short) (buff.get() & 0xFF); dataFilter = buff.getInt(); requestedMineType.unmarshal(buff); for (int idx = 0; idx < numberOfPerimeterPoints; idx++) { Point anX = new Point(); anX.unmarshal(buff); requestedPerimeterPoints.add(anX); } for (int idx = 0; idx < numberOfSensorTypes; idx++) { TwoByteChunk anX = new TwoByteChunk(); anX.unmarshal(buff); sensorTypes.add(anX); } } // end of unmarshal method