diff --git a/src/edu/nps/moves/dis7/utilities/stream/PduPlayer.java b/src/edu/nps/moves/dis7/utilities/stream/PduPlayer.java index 8314bfb1c15d1082bf2b47db2234dcf838ef4308..967165b42dcc2829452f5cde14fa16e1e192394d 100644 --- a/src/edu/nps/moves/dis7/utilities/stream/PduPlayer.java +++ b/src/edu/nps/moves/dis7/utilities/stream/PduPlayer.java @@ -14,6 +14,8 @@ import java.nio.ByteBuffer; import java.nio.IntBuffer; import java.nio.file.Files; import java.nio.file.Path; +import java.time.LocalDate; +import java.time.LocalTime; import java.util.Arrays; import java.util.Base64; import java.util.List; @@ -42,14 +44,14 @@ public class PduPlayer { private int port; private Thread playerThread; - static final String ENCODING_BASE64 = "ENCODING_BASE64"; - static final String ENCODING_PLAINTEXT = "ENCODING_PLAINTEXT"; - static final String ENCODING_BINARY = "ENCODING_BINARY"; // TODO likely requires different code path - static final String ENCODING_XML = "ENCODING_XML"; // TODO, repeat Open-DIS version 4 effort - static final String ENCODING_EXI = "ENCODING_EXI"; // TODO, use Exificient or Nagasena libraries - static final String ENCODING_JSON = "ENCODING_JSON"; // TODO, repeat Open-DIS version 4 effort - static final String ENCODING_CDIS = "ENCODING_CDIS"; // future work based on new SISO standard - static final String ENCODING_MAK_DATA_LOGGER = "ENCODING_MAK_DATA_LOGGER"; // verbose pretty-print. perhaps output only (MAK format itself is binary) + static final String ENCODING_BASE64 = "ENCODING_BASE64"; + static final String ENCODING_PLAINTEXT = "ENCODING_PLAINTEXT"; + static final String ENCODING_BINARY = "ENCODING_BINARY"; // TODO likely requires different code path + static final String ENCODING_XML = "ENCODING_XML"; // TODO, repeat Open-DIS version 4 effort + static final String ENCODING_EXI = "ENCODING_EXI"; // TODO, use Exificient or Nagasena libraries + static final String ENCODING_JSON = "ENCODING_JSON"; // TODO, repeat Open-DIS version 4 effort + static final String ENCODING_CDIS = "ENCODING_CDIS"; // future work based on new SISO standard + static final String ENCODING_MAK_DATA_LOGGER = "ENCODING_MAK_DATA_LOGGER"; // verbose pretty-print. perhaps output only (MAK format itself is binary) static final String ENCODING_WIRESHARK_DATA_LOGGER = "ENCODING_WIRESHARK_DATA_LOGGER"; // private static String pduLogEncoding = PduRecorder.ENCODING_PLAINTEXT; // determined when reading file @@ -161,9 +163,11 @@ public class PduPlayer { pduLogEncoding = PduRecorder.ENCODING_PLAINTEXT; else pduLogEncoding = PduRecorder.ENCODING_BINARY; + sleep (100l); // let prior run finish System.out.flush(); System.err.flush(); System.out.println("Replaying PDU log file with " + pduLogEncoding + ": " + f.getAbsolutePath()); + System.out.flush(); for (String line : lines) { @@ -171,8 +175,11 @@ public class PduPlayer { sleep(100l); // TODO confirm usability OK, currently 100 msec increments for pause } if (line.length() <= 0) - ; // blank lines ok - else if (line.trim().startsWith(PduRecorder.COMMENT_MARKER)) { + { + // blank lines ok + } + else if (line.trim().startsWith(PduRecorder.COMMENT_MARKER)) + { if (handleComment(line, f)) { break; } @@ -193,9 +200,25 @@ public class PduPlayer { } if (line.contains("[") || line.contains("]")) { - System.out.println("*** [square brackets] no longer included in CSV PLAINTEXT data, ignored"); + System.out.println("*** [square brackets] no longer included in CSV PLAINTEXT encoded data, [] characters ignored"); line = line.replace("[","").replace("]",""); } + + String dateString = new String(); + String timeString = new String(); + LocalDate localDate; + LocalTime localTime; + if (line.startsWith("DisPduType")) + { + // strip prepended DisPduTye, receipt date, receipt time + line = line.substring(line.indexOf(",") + 1); // strip DisPduTye + dateString = line.substring(0,line.indexOf(",")); + localDate = LocalDate.parse(dateString); + line = line.substring(line.indexOf(",") + 1); // strip receipt date + timeString = line.substring(0,line.indexOf(",")); + localTime = LocalTime.parse(timeString); + line = line.substring(line.indexOf(",") + 1); // strip receipt time + } //Pattern splitting needed for playback of unencoded streams // REGEX = "\\],\\["; REGEX = ","; @@ -207,11 +230,10 @@ public class PduPlayer { // //Add the "]" to the end of sa[0]. It was taken off by the split // if (sa.length > 1) // sa[1] = "[".concat(sa[1]); - break; default: - System.err.println("Encoding'" + pduLogEncoding + " not recognized or supported"); + System.err.println("Encoding'" + pduLogEncoding + "' not recognized or supported"); } // timestamp is 8 bytes, size of smallest PDU? @@ -223,7 +245,7 @@ public class PduPlayer { exitWithFailure(); } - if (startNanoTime == null) { + if (startNanoTime == null) { // TODO check if reset during multiple encoding passes startNanoTime = System.nanoTime(); // initialize } // get timestamp pduTimeBytes, i.e. 8 bytes represented by a Java long @@ -283,7 +305,8 @@ public class PduPlayer { now = System.nanoTime(); sleepTime = targetSimTime - now; // the difference between then and now - if (sleepTime > 20000000) { // 20 msec + if (sleepTime > 20000000)// 20 msec + { //System.out.println("sim interval = " + pduTimeInterval + ", sleeping for " + sleepTime/1000000l + " ms"); sleep(sleepTime / 1000000L, (int) (sleepTime % 1000000L)); } @@ -502,14 +525,23 @@ public class PduPlayer { closeConnections(); } - private void sleep(long ms) { - sleep(ms, 0); + private void sleep(long ms) + { + if (ms > 10000) + { + System.err.println ("*** PduPlayer sleep > 10 seconds, ignored (ms=" + ms + ")"); + } + else sleep(ms, 0); } private void sleep(long ms, int ns) { // @formatter:off try { - Thread.sleep(ms, ns); + if (ms > 10000) + { + System.err.println ("*** PduPlayer sleep > 10 seconds, ignored (ms=" + ms + ")"); + } + else Thread.sleep(ms, ns); } catch (InterruptedException ex) {} // @formatter:on } diff --git a/src/edu/nps/moves/dis7/utilities/stream/PduPlayerSelfTestLog.txt b/src/edu/nps/moves/dis7/utilities/stream/PduPlayerSelfTestLog.txt index 5cc34b610397c7fc7ca37eff775a1b3889865ab1..acf04ff47cbc97b687b7adec2d5d7c95f977cdf6 100644 --- a/src/edu/nps/moves/dis7/utilities/stream/PduPlayerSelfTestLog.txt +++ b/src/edu/nps/moves/dis7/utilities/stream/PduPlayerSelfTestLog.txt @@ -1,15 +1,111 @@ -ant -f C:\\x3d-github\\open-dis7-java -Dnb.internal.action.name=run.single -Djavac.includes=edu/nps/moves/dis7/utilities/stream/PduPlayer.java -Drun.class=edu.nps.moves.dis7.utilities.stream.PduPlayer run-single +ant -f C:\\x3d-github\\opendis7-java -Dnb.internal.action.name=run.single -Djavac.includes=edu/nps/moves/dis7/utilities/stream/PduPlayer.java -Drun.class=edu.nps.moves.dis7.utilities.stream.PduPlayer run-single init: -Deleting: C:\x3d-github\open-dis7-java\build\built-jar.properties +Deleting: C:\x3d-github\opendis7-java\build\built-jar.properties deps-jar: -Updating property file: C:\x3d-github\open-dis7-java\build\built-jar.properties -Compiling 1 source file to C:\x3d-github\open-dis7-java\build\classes +Updating property file: C:\x3d-github\opendis7-java\build\built-jar.properties +Compiling 1 source file to C:\x3d-github\opendis7-java\build\classes +warning: [options] bootstrap class path not set in conjunction with -source 8 +1 warning compile-single: run-single: Prepare for PduPlayer self-test log by running PduRecorder() self-test first. PduPlayer begin() playing DIS logs found in ancestor pduLog directory. +Replaying PDU log file with ENCODING_BASE64: C:\x3d-github\opendis7-java\pduLog\PduRecorderSelfTestENCODING_BASE64_PduCaptureLog.dislog +Sent PDU: DisPduType 01 ENTITY_STATE +Sent PDU: DisPduType 02 FIRE +Sent PDU: DisPduType 03 DETONATION +Sent PDU: DisPduType 04 COLLISION +Sent PDU: DisPduType 05 SERVICE_REQUEST +Sent PDU: DisPduType 06 RESUPPLY_OFFER +Sent PDU: DisPduType 07 RESUPPLY_RECEIVED +Sent PDU: DisPduType 08 RESUPPLY_CANCEL +Sent PDU: DisPduType 09 REPAIR_COMPLETE +Sent PDU: DisPduType 10 REPAIR_RESPONSE +Sent PDU: DisPduType 11 CREATE_ENTITY +Sent PDU: DisPduType 12 REMOVE_ENTITY +Sent PDU: DisPduType 13 START_RESUME +Sent PDU: DisPduType 14 STOP_FREEZE +Sent PDU: DisPduType 15 ACKNOWLEDGE +Sent PDU: DisPduType 16 ACTION_REQUEST +Sent PDU: DisPduType 17 ACTION_RESPONSE +Sent PDU: DisPduType 18 DATA_QUERY +Sent PDU: DisPduType 19 SET_DATA +Sent PDU: DisPduType 20 DATA +Sent PDU: DisPduType 21 EVENT_REPORT +Sent PDU: DisPduType 22 COMMENT +Sent PDU: DisPduType 23 ELECTROMAGNETIC_EMISSION +Sent PDU: DisPduType 24 DESIGNATOR +Sent PDU: DisPduType 25 TRANSMITTER +Sent PDU: DisPduType 26 SIGNAL +Sent PDU: DisPduType 27 RECEIVER +Sent PDU: DisPduType 28 IDENTIFICATION_FRIEND_OR_FOE +Sent PDU: DisPduType 29 UNDERWATER_ACOUSTIC +Sent PDU: DisPduType 30 SUPPLEMENTAL_EMISSION_ENTITY_STATE +Sent PDU: DisPduType 31 INTERCOM_SIGNAL +Sent PDU: DisPduType 32 INTERCOM_CONTROL +Sent PDU: DisPduType 33 AGGREGATE_STATE +Sent PDU: DisPduType 34 ISGROUPOF +Sent PDU: DisPduType 35 TRANSFER_OWNERSHIP +Sent PDU: DisPduType 36 ISPARTOF +Sent PDU: DisPduType 37 MINEFIELD_STATE +Sent PDU: DisPduType 38 MINEFIELD_QUERY +Sent PDU: DisPduType 39 MINEFIELD_DATA +Sent PDU: DisPduType 40 MINEFIELD_RESPONSE_NACK +Sent PDU: DisPduType 41 ENVIRONMENTAL_PROCESS +Sent PDU: DisPduType 42 GRIDDED_DATA +Sent PDU: DisPduType 43 POINT_OBJECT_STATE +Sent PDU: DisPduType 44 LINEAR_OBJECT_STATE +Sent PDU: DisPduType 45 AREAL_OBJECT_STATE +Sent PDU: DisPduType 46 TIME_SPACE_POSITION_INFORMATION +Sent PDU: DisPduType 47 APPEARANCE +Sent PDU: DisPduType 48 ARTICULATED_PARTS +Sent PDU: DisPduType 49 LIVE_ENTITY_FIRE +Sent PDU: DisPduType 50 LIVE_ENTITY_DETONATION +Sent PDU: DisPduType 51 CREATE_ENTITY_RELIABLE +Sent PDU: DisPduType 52 REMOVE_ENTITY_RELIABLE +Sent PDU: DisPduType 53 START_RESUME_RELIABLE +Sent PDU: DisPduType 54 STOP_FREEZE_RELIABLE +Sent PDU: DisPduType 55 ACKNOWLEDGE_RELIABLE +Sent PDU: DisPduType 56 ACTION_REQUEST_RELIABLE +Sent PDU: DisPduType 57 ACTION_RESPONSE_RELIABLE +Sent PDU: DisPduType 58 DATA_QUERY_RELIABLE +Sent PDU: DisPduType 59 SET_DATA_RELIABLE +Sent PDU: DisPduType 60 DATA_RELIABLE +Sent PDU: DisPduType 61 EVENT_REPORT_RELIABLE +Sent PDU: DisPduType 62 COMMENT_RELIABLE +Sent PDU: DisPduType 63 RECORD_RELIABLE +Sent PDU: DisPduType 64 SET_RECORD_RELIABLE +Sent PDU: DisPduType 65 RECORD_QUERY_RELIABLE +Sent PDU: DisPduType 66 COLLISION_ELASTIC +Sent PDU: DisPduType 67 ENTITY_STATE_UPDATE +Sent PDU: DisPduType 68 DIRECTED_ENERGY_FIRE +Sent PDU: DisPduType 69 ENTITY_DAMAGE_STATUS +Sent PDU: DisPduType 70 INFORMATION_OPERATIONS_ACTION +Sent PDU: DisPduType 71 INFORMATION_OPERATIONS_REPORT +Sent PDU: DisPduType 72 ATTRIBUTE +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Replaying PDU log file with ENCODING_BINARY: C:\x3d-github\opendis7-java\pduLog\PduRecorderSelfTestENCODING_BINARY_PduCaptureLog.dislog +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported +Encoding'ENCODING_BINARY' not recognized or supported ENCODING_PLAINTEXT -Replaying PDU log file with ENCODING_PLAINTEXT: C:\x3d-github\open-dis7-java\pduLog\PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog +Replaying PDU log file with ENCODING_PLAINTEXT: C:\x3d-github\opendis7-java\pduLog\PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog Sent PDU: DisPduType 01 ENTITY_STATE Sent PDU: DisPduType 02 FIRE Sent PDU: DisPduType 03 DETONATION @@ -82,6 +178,6 @@ Sent PDU: DisPduType 69 ENTITY_DAMAGE_STATUS Sent PDU: DisPduType 70 INFORMATION_OPERATIONS_ACTION Sent PDU: DisPduType 71 INFORMATION_OPERATIONS_REPORT Sent PDU: DisPduType 72 ATTRIBUTE -Total PDUs: 72 +Total PDUs: 164 PduPlayer handleComment() found FINISH_COMMENT_MARKER, end of replay from log file PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog BUILD SUCCESSFUL (total time: 8 seconds) diff --git a/src/edu/nps/moves/dis7/utilities/stream/PduRecorder.java b/src/edu/nps/moves/dis7/utilities/stream/PduRecorder.java index 1fcff7fc825bc698b4062e24acadb9c60bfb954d..a735c0dcfff2d4f27bbe95dcbbacd1581ba78df8 100644 --- a/src/edu/nps/moves/dis7/utilities/stream/PduRecorder.java +++ b/src/edu/nps/moves/dis7/utilities/stream/PduRecorder.java @@ -110,14 +110,47 @@ public class PduRecorder // implements PduReceiver private DisThreadedNetworkInterface disThreadedNetworkInterface; private DisThreadedNetworkInterface.RawPduListener disRawPduListener; - private long startNanoTime = -1; // sentinel - private StringBuilder sb = new StringBuilder(); - private Base64.Encoder base64Encoder = Base64.getEncoder(); - private int pduCount = 0; // debug - private boolean headerWritten = false; - private boolean running = true; // starts recording by default - private boolean readableTimeStamp = true; // use normal date, time strings vice bytes - private long sessionDuration = -1; + private long startNanoTime = -1; // sentinel + private StringBuilder sb = new StringBuilder(); + private Base64.Encoder base64Encoder = Base64.getEncoder(); + private int pduCount = 0; // debug + private boolean headerWritten = false; + private boolean running = true; // starts recording by default + private boolean readableTimeStamp = true; // + private boolean zeroBasedTimeStamp = true; // use normal date, time strings vice bytes + private long sessionDuration = -1; + public static final String UNDATED = "undated"; + + public enum TimeFormatterType + { + SECONDS, + TENTHSECONDS, + HUNDREDTHSECONDS, + MILLISECONDS, + MICROSECONDS, + NANOSECONDS; + } + + /** Format time <code>HH:mm:ss</code> + * @see java.time.format.DateTimeFormatter */ + public static final DateTimeFormatter timeFormatterSeconds = DateTimeFormatter.ofPattern("HH:mm:ss"); + /** Format time <code>HH:mm:ss.S</code>, default + * @see java.time.format.DateTimeFormatter */ + public static final DateTimeFormatter timeFormatterTenthSeconds = DateTimeFormatter.ofPattern("HH:mm:ss.S"); + /** Format time <code>HH:mm:ss.SS</code> + * @see java.time.format.DateTimeFormatter */ + public static final DateTimeFormatter timeFormatterHundredthSeconds = DateTimeFormatter.ofPattern("HH:mm:ss.SS"); + /** Format time <code>HH:mm:ss.SSS</code> + * @see java.time.format.DateTimeFormatter */ + public static final DateTimeFormatter timeFormatterMilliSeconds = DateTimeFormatter.ofPattern("HH:mm:ss.SSS"); + /** Format time <code>HH:mm:ss.SSSSSS</code> + * @see java.time.format.DateTimeFormatter */ + public static final DateTimeFormatter timeFormatterMicroSeconds = DateTimeFormatter.ofPattern("HH:mm:ss.SSSSSS"); + /** Format time <code>HH:mm:ss.SSSSSSSSS</code> + * @see java.time.format.DateTimeFormatter */ + public static final DateTimeFormatter timeFormatterNanoSeconds = DateTimeFormatter.ofPattern("HH:mm:ss.SSSSSSSSS"); + + private DateTimeFormatter timeFormatter = timeFormatterTenthSeconds; private void initialize() { @@ -319,22 +352,25 @@ public class PduRecorder // implements PduReceiver if(!isRunning()) return; - DateTimeFormatter timeFormatterSeconds = DateTimeFormatter.ofPattern("HH:mm:ss"); - DateTimeFormatter timeFormatterMilliseconds = DateTimeFormatter.ofPattern("HH:mm:ss.SSS"); - LocalTime localTime = LocalTime.now(); String localDateString = LocalDate.now().toString(); - String localTimeString = localTime.format(timeFormatterMilliseconds); + LocalTime localTime = LocalTime.now(); long packetReceivedNanoTime = localTime.toNanoOfDay(); // formerly System.nanoTime(); if (startNanoTime == -1) startNanoTime = packetReceivedNanoTime; sessionDuration = packetReceivedNanoTime - startNanoTime; + if (isZeroBasedTimeStamp()) + { + localDateString = UNDATED; + localTime = LocalTime.ofNanoOfDay(sessionDuration); + } + String localTimeString = localTime.format(timeFormatter); // DIS timestamp is 8 bytes in length, converted from Java long time into byte array byte[] timeByteArray = Longs.toByteArray(packetReceivedNanoTime - startNanoTime); //System.out.println(TRACE_PREFIX + "wrote time "+(packetReceivedNanoTime - startNanoTime)); // debug - byte[] byteBufferSized = Arrays.copyOf(newBuffer, newLength); - DisPduType pduType; + byte[] byteBufferSized = Arrays.copyOf(newBuffer, newLength); + DisPduType pduType = DisPduType.getEnumForValue(Byte.toUnsignedInt(byteBufferSized[2])); // 3rd byte if (includeHeaders && !headerWritten) { @@ -370,17 +406,17 @@ public class PduRecorder // implements PduReceiver break; case ENCODING_PLAINTEXT: - if (isReadableTimeStamp()) + if (includesReadableTimeStamp()) { + sb.append(COMMENT_MARKER).append(" ").append(pduType).append(","); sb.append(localDateString).append(",").append(localTimeString); + sb.append("\n"); } - // Remove square brackets to end up with pure CSV - else sb.append(Arrays.toString(timeByteArray).replace(" ", "").replace("[","").replace("]","")); + // Timestamp bytes, remove square brackets to end up with pure CSV + sb.append(Arrays.toString(timeByteArray).replace(" ", "").replace("[","").replace("]","")); sb.append(","); + // PDU contents, remove square brackets to end up with pure CSV sb.append(Arrays.toString(byteBufferSized).replace(" ", "").replace("[","").replace("]","")); - sb.append(" # "); // append comment showing pduType - pduType = DisPduType.getEnumForValue(Byte.toUnsignedInt(byteBufferSized[2])); // 3rd byte - sb.append(pduType); break; // TODO test reader still works without extra [square brackets] @@ -455,10 +491,26 @@ public class PduRecorder // implements PduReceiver { logFileWriter.write(START_COMMENT_MARKER + encodingPduLog + ", " + TRACE_PREFIX + timeStamp + ", DIS capture file, " + logFile.getPath()); ((PrintWriter) logFileWriter).println(); + + if (encodingPduLog.equals(ENCODING_PLAINTEXT) && includesReadableTimeStamp()) + { + logFileWriter.write(COMMENT_MARKER + " DisPduType,ReceiptDate,ReceiptTime"); + ((PrintWriter) logFileWriter).println(); + } + if (encodingPduLog.equals(ENCODING_PLAINTEXT)) + { + logFileWriter.write(COMMENT_MARKER + " Timestamp(8 bytes),ProtocolVersion,CompatibilityVersion,ExcerciseID,PduType,PduStatus,HeaderLength,PduLength,then PDU-specific data"); + ((PrintWriter) logFileWriter).println(); + } + if (encodingPduLog.equals(ENCODING_PLAINTEXT) && includesReadableTimeStamp()) + { + logFileWriter.write(COMMENT_MARKER + " " + "============================================="); + ((PrintWriter) logFileWriter).println(); + } } - catch (IOException ex) + catch (IOException ioe) { - Logger.getLogger(PduRecorder.class.getName()).log(Level.SEVERE, null, ex); + Logger.getLogger(PduRecorder.class.getName()).log(Level.SEVERE, null, ioe); } } @@ -827,7 +879,7 @@ public class PduRecorder // implements PduReceiver * Whether to provide date/time in readable form, otherwise use byte array * @return whether readableTimeStamp is used */ - public boolean isReadableTimeStamp() { + public boolean includesReadableTimeStamp() { return readableTimeStamp; } @@ -846,4 +898,50 @@ public class PduRecorder // implements PduReceiver public long getSessionDuration() { return sessionDuration; } + + /** + * Whether timestamp values start at zero or time of initial PDU receipt, default value is true + * @return the zeroBasedTimeStamp + */ + public boolean isZeroBasedTimeStamp() { + return zeroBasedTimeStamp; + } + + /** + * Set whether timestamp values start at zero or time of initial PDU receipt, default value is true + * @param zeroBasedTimeStamp the zeroBasedTimeStamp to set + */ + public void setZeroBasedTimeStamp(boolean zeroBasedTimeStamp) { + this.zeroBasedTimeStamp = zeroBasedTimeStamp; + } + + /** + * Set time format for text logging + * @param timeFormatterChoice enumeration for the new timeFormatter to set + */ + public void setTimeFormatter(TimeFormatterType timeFormatterChoice) + { + switch (timeFormatterChoice) + { + case SECONDS: + timeFormatter = timeFormatterSeconds; + break; + case TENTHSECONDS: + timeFormatter = timeFormatterTenthSeconds; + break; + case HUNDREDTHSECONDS: + timeFormatter = timeFormatterHundredthSeconds; + break; + case MILLISECONDS: + timeFormatter = timeFormatterMilliSeconds; + break; + case MICROSECONDS: + timeFormatter = timeFormatterMicroSeconds; + break; + case NANOSECONDS: + timeFormatter = timeFormatterNanoSeconds; + break; + // no others allowed + } + } } diff --git a/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_BASE64_PduCaptureLog.dislog b/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_BASE64_PduCaptureLog.dislog index 6499270b337e377ebd3d925c114e42358e6fd4c2..30c2a8c77f2c2dcaffdaedeafe9f5413e9e9ed75 100644 --- a/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_BASE64_PduCaptureLog.dislog +++ b/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_BASE64_PduCaptureLog.dislog @@ -1,72 +1,72 @@ AAAAAAAAAAAHAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAAYzvoAHAAICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAA0preQHAAMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAABOA95wHAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAABnxmgAHAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAACAtXswHAAYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAACb7hEAHAAcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAACzzWzQHAAgDAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAADNq8nQHAAkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAADmjm4wHAAoDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAEFNohAHAAsFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAEgmW1QHAAwFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAE8CWIgHAA0FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAFWNXgAHAA4FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAFuRyBgHAA8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAA== -AAAAAGKewSQHABAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAGlcXvQHABEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAG+ZdggHABIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAHWhjFwHABMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAHvs9dgHABQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAIJFYKAHABUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAIh53DAHABYFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAI9XTUQHABcGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAJWz8UwHABgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAJwi23QHABkEAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAKJppCwHABoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA -AAAAAKlV6CwHABsEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAK/j8FgHABwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAALZadvAHAB0GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAALx6ySwHAB4GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAMM1XUAHAB8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAA= -AAAAAMlzj+wHACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAANAjOwgHACEHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAANZ8/fQHACIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAANyPwqgHACMHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAOLS1DQHACQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAOllwqwHACUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAO+ICtwHACYIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAPZDkSAHACcIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAPxEAHgHACgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAQM1eawHACkJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAQnIPlgHACoJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAARB5JwgHACsJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAARbdurQHACwJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAR0/C5wHAC0JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAASPYePgHAC4LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAASpK1xwHAC8LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAATDjePQHADALAAAAAAAAAAAAAAAAAA== -AAAAATbhOyQHADELAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAT0GAgAHADILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAUMLK4AHADMKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAUkC8gwHADQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAU8BIAwHADUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAVVy+7gHADYKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAVv2ikAHADcKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAA== -AAAAAWJMDtgHADgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAWippRAHADkKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAW9tr8wHADoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAXW16agHADsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAX1S8HAHADwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAYPo36gHAD0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAYn49mwHAD4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAZDEz5gHAD8KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAZdoZugHAEAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAZ4vQrwHAEEKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAaS9U4AHAEIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAaszgKQHAEMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAbGDJbgHAEQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAbgOtXgHAEUCAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAb44kqwHAEYNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAcQ+fxgHAEcNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAcpLUrQHAEgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAA== +AAAAAAYAWLAHAAICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAAz5hJgHAAMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAABMY7HQHAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAABllmPwHAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAB+hRlgHAAYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAACZ1yLQHAAcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAACyzmPAHAAgDAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAADM1i1wHAAkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAADk9rWgHAAoDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAD8v6TQHAAsFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAEWjKLwHAAwFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAEu7UFgHAA0FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAFI8YDQHAA4FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAFiCcoAHAA8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAA== +AAAAAF60AmgHABAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAGT1FjAHABEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAGsc4OwHABIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAHGyRRQHABMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAHfR6qgHABQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAH6FP0QHABUFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAIUjA5AHABYFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAIuL6wwHABcGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJGqTAQHABgGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJhnLGAHABkEAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAJ9dIaAHABoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAA +AAAAAKVwIbQHABsEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAKwJMnwHABwGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAALIP+nAHAB0GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAALiEsiQHAB4GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAL7nHkAHAB8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAA= +AAAAAMUeP/AHACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAMtCIeQHACEHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAANFNpfQHACIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAANffMugHACMHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAN3ai4QHACQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAOTk3gwHACUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAOu4fdgHACYIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAPIE2egHACcIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAPhxXgAHACgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAP8S4awHACkJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAQUvNNwHACoJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAQuXxBAHACsJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAARGeEogHACwJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAARe/YLgHAC0JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAR4TvywHAC4LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAASU8MEAHAC8LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAStsVBgHADALAAAAAAAAAAAAAAAAAA== +AAAAATGwdxQHADELAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAATfqASwHADILAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAT3wczAHADMKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAUP6EuAHADQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAUoMGugHADUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAVARGQwHADYKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAVZ6ZhgHADcKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAA== +AAAAAVzQVPAHADgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAWNGk0QHADkKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAWl9YVwHADoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAW+q73wHADsKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAXXUxOAHADwKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAXw5ZjgHAD0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAYKOSkQHAD4KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAYloT5AHAD8KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAY+hP8AHAEAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAZZDpygHAEEKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAZ0gqOgHAEIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAaRTNRgHAEMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAap6GogHAEQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAbGHltQHAEUCAAAAAAAAAAAAAAAAAAAAAAAAAAA= +AAAAAbeaskAHAEYNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== +AAAAAb4CAFwHAEcNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAcQ+hVgHAEgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAA== diff --git a/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog b/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog index 3522b4f80193753a4085dabd6873810bb9712fef..4d452a4dda5e6d901180ea7f7807f8ababfb8a31 100644 --- a/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog +++ b/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog @@ -1,74 +1,149 @@ -# Start, ENCODING_PLAINTEXT, [DisThreadedNetworkInterface PduRecorder main() self test ENCODING_PLAINTEXT] 20220101_085719, DIS capture file, .\pduLog\PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog -0,0,0,0,0,0,0,0,7,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 01 ENTITY_STATE -0,0,0,0,6,-56,85,-112,7,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 02 FIRE -0,0,0,0,13,27,118,12,7,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 03 DETONATION -0,0,0,0,19,-111,84,72,7,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 04 COLLISION -0,0,0,0,25,-5,-33,-80,7,0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 05 SERVICE_REQUEST -0,0,0,0,32,108,28,32,7,0,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 06 RESUPPLY_OFFER -0,0,0,0,38,-29,-125,-72,7,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 07 RESUPPLY_RECEIVED -0,0,0,0,45,87,-90,52,7,0,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 08 RESUPPLY_CANCEL -0,0,0,0,51,-43,-36,-60,7,0,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 09 REPAIR_COMPLETE -0,0,0,0,58,77,-102,76,7,0,10,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 10 REPAIR_RESPONSE -0,0,0,0,64,-64,116,68,7,0,11,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 11 CREATE_ENTITY -0,0,0,0,71,46,-30,52,7,0,12,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 12 REMOVE_ENTITY -0,0,0,0,77,-83,-83,52,7,0,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 13 START_RESUME -0,0,0,0,84,48,104,104,7,0,14,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 14 STOP_FREEZE -0,0,0,0,90,-95,-72,60,7,0,15,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 # DisPduType 15 ACKNOWLEDGE -0,0,0,0,97,28,-109,-48,7,0,16,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 16 ACTION_REQUEST -0,0,0,0,103,-116,-108,-32,7,0,17,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 17 ACTION_RESPONSE -0,0,0,0,109,-5,51,64,7,0,18,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 18 DATA_QUERY -0,0,0,0,116,111,-37,84,7,0,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 19 SET_DATA -0,0,0,0,122,-23,112,88,7,0,20,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 20 DATA -0,0,0,0,-127,104,89,108,7,0,21,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 21 EVENT_REPORT -0,0,0,0,-121,-43,111,56,7,0,22,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 22 COMMENT -0,0,0,0,-114,87,-124,104,7,0,23,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 23 ELECTROMAGNETIC_EMISSION -0,0,0,0,-108,-36,14,-128,7,0,24,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 24 DESIGNATOR -0,0,0,0,-101,-120,-20,8,7,0,25,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 25 TRANSMITTER -0,0,0,0,-95,-42,45,-56,7,0,26,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0 # DisPduType 26 SIGNAL -0,0,0,0,-88,45,-97,-68,7,0,27,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 27 RECEIVER -0,0,0,0,-82,-28,76,-4,7,0,28,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 28 IDENTIFICATION_FRIEND_OR_FOE -0,0,0,0,-75,42,-99,-56,7,0,29,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 29 UNDERWATER_ACOUSTIC -0,0,0,0,-69,-117,118,-60,7,0,30,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 30 SUPPLEMENTAL_EMISSION_ENTITY_STATE -0,0,0,0,-62,17,-62,20,7,0,31,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0 # DisPduType 31 INTERCOM_SIGNAL -0,0,0,0,-56,-108,-112,8,7,0,32,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 32 INTERCOM_CONTROL -0,0,0,0,-49,33,-80,-112,7,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 33 AGGREGATE_STATE -0,0,0,0,-43,115,31,16,7,0,34,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 34 ISGROUPOF -0,0,0,0,-36,9,99,112,7,0,35,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 35 TRANSFER_OWNERSHIP -0,0,0,0,-30,-119,79,-28,7,0,36,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 36 ISPARTOF -0,0,0,0,-23,1,81,100,7,0,37,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 37 MINEFIELD_STATE -0,0,0,0,-17,98,-10,-84,7,0,38,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 38 MINEFIELD_QUERY -0,0,0,0,-11,-58,-88,-12,7,0,39,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 39 MINEFIELD_DATA -0,0,0,0,-4,60,114,24,7,0,40,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 40 MINEFIELD_RESPONSE_NACK -0,0,0,1,2,-55,-85,60,7,0,41,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 41 ENVIRONMENTAL_PROCESS -0,0,0,1,9,66,95,64,7,0,42,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 42 GRIDDED_DATA -0,0,0,1,15,-51,124,40,7,0,43,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 43 POINT_OBJECT_STATE -0,0,0,1,22,22,-106,60,7,0,44,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 44 LINEAR_OBJECT_STATE -0,0,0,1,28,-98,-24,76,7,0,45,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 45 AREAL_OBJECT_STATE -0,0,0,1,35,45,39,40,7,0,46,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 46 TIME_SPACE_POSITION_INFORMATION -0,0,0,1,41,-125,59,28,7,0,47,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 47 APPEARANCE -0,0,0,1,47,-18,-23,-120,7,0,48,11,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 48 ARTICULATED_PARTS -0,0,0,1,54,108,-50,116,7,0,49,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 49 LIVE_ENTITY_FIRE -0,0,0,1,60,-11,-117,40,7,0,50,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 50 LIVE_ENTITY_DETONATION -0,0,0,1,67,90,-51,112,7,0,51,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 51 CREATE_ENTITY_RELIABLE -0,0,0,1,73,-43,20,-108,7,0,52,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 52 REMOVE_ENTITY_RELIABLE -0,0,0,1,80,70,-101,124,7,0,53,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 53 START_RESUME_RELIABLE -0,0,0,1,86,-69,98,8,7,0,54,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 54 STOP_FREEZE_RELIABLE -0,0,0,1,93,49,-23,-52,7,0,55,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 # DisPduType 55 ACKNOWLEDGE_RELIABLE -0,0,0,1,99,-83,38,64,7,0,56,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 56 ACTION_REQUEST_RELIABLE -0,0,0,1,106,35,-77,-32,7,0,57,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 57 ACTION_RESPONSE_RELIABLE -0,0,0,1,112,-97,-118,-96,7,0,58,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 58 DATA_QUERY_RELIABLE -0,0,0,1,119,19,88,-68,7,0,59,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 59 SET_DATA_RELIABLE -0,0,0,1,125,-120,85,-8,7,0,60,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 60 DATA_RELIABLE -0,0,0,1,-125,-6,-15,112,7,0,61,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 61 EVENT_REPORT_RELIABLE -0,0,0,1,-118,116,-110,-12,7,0,62,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 62 COMMENT_RELIABLE -0,0,0,1,-112,-12,90,76,7,0,63,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 63 RECORD_RELIABLE -0,0,0,1,-105,101,35,92,7,0,64,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 64 SET_RECORD_RELIABLE -0,0,0,1,-99,-29,-101,-116,7,0,65,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 65 RECORD_QUERY_RELIABLE -0,0,0,1,-92,87,59,-12,7,0,66,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 66 COLLISION_ELASTIC -0,0,0,1,-86,-50,-18,-116,7,0,67,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 67 ENTITY_STATE_UPDATE -0,0,0,1,-79,97,127,-88,7,0,68,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 68 DIRECTED_ENERGY_FIRE -0,0,0,1,-73,-67,-24,80,7,0,69,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 69 ENTITY_DAMAGE_STATUS -0,0,0,1,-66,106,70,-128,7,0,70,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 70 INFORMATION_OPERATIONS_ACTION -0,0,0,1,-60,-78,115,20,7,0,71,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 # DisPduType 71 INFORMATION_OPERATIONS_REPORT -0,0,0,1,-53,-71,-55,40,7,0,72,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 # DisPduType 72 ATTRIBUTE -# Finish, ENCODING_PLAINTEXT, [DisThreadedNetworkInterface PduRecorder main() self test ENCODING_PLAINTEXT] 20220101_085728, DIS capture file, .\pduLog\PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog +# Start, ENCODING_PLAINTEXT, [PduRecorder PduRecorder main() self test ENCODING_PLAINTEXT] 20220620_093604, DIS capture file, .\pduLog\PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog +# DisPduType,ReceiptDate,ReceiptTime +# ProtocolVersion,CompatibilityVersion,ExcerciseID,PduType,PduStatus,HeaderLength,PduLength,Timestamp,then PDU-specific data +# ============================================= +# DisPduType 01 ENTITY_STATE,undated,00:00:00.0 +0,0,0,0,0,0,0,0,7,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 02 FIRE,undated,00:00:00.0 +0,0,0,0,5,-93,53,84,7,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 03 DETONATION,undated,00:00:00.2 +0,0,0,0,12,71,88,-32,7,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 04 COLLISION,undated,00:00:00.3 +0,0,0,0,18,-120,52,4,7,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 05 SERVICE_REQUEST,undated,00:00:00.4 +0,0,0,0,25,2,49,-72,7,0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 06 RESUPPLY_OFFER,undated,00:00:00.5 +0,0,0,0,31,26,88,-16,7,0,6,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 07 RESUPPLY_RECEIVED,undated,00:00:00.6 +0,0,0,0,37,117,-94,-32,7,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 08 RESUPPLY_CANCEL,undated,00:00:00.7 +0,0,0,0,43,-92,119,-112,7,0,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 09 REPAIR_COMPLETE,undated,00:00:00.8 +0,0,0,0,50,119,52,4,7,0,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 10 REPAIR_RESPONSE,undated,00:00:00.9 +0,0,0,0,56,-62,111,-52,7,0,10,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 11 CREATE_ENTITY,undated,00:00:01.0 +0,0,0,0,63,-121,-10,56,7,0,11,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 12 REMOVE_ENTITY,undated,00:00:01.1 +0,0,0,0,69,-43,61,112,7,0,12,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 13 START_RESUME,undated,00:00:01.2 +0,0,0,0,75,-4,-37,64,7,0,13,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 14 STOP_FREEZE,undated,00:00:01.3 +0,0,0,0,82,62,-66,116,7,0,14,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 15 ACKNOWLEDGE,undated,00:00:01.4 +0,0,0,0,88,93,32,-104,7,0,15,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +# DisPduType 16 ACTION_REQUEST,undated,00:00:01.5 +0,0,0,0,94,-82,-113,124,7,0,16,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 17 ACTION_RESPONSE,undated,00:00:01.6 +0,0,0,0,101,46,-19,-100,7,0,17,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 18 DATA_QUERY,undated,00:00:01.8 +0,0,0,0,108,53,108,-40,7,0,18,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 19 SET_DATA,undated,00:00:01.9 +0,0,0,0,114,-37,46,-40,7,0,19,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 20 DATA,undated,00:00:02.0 +0,0,0,0,120,-34,33,40,7,0,20,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 21 EVENT_REPORT,undated,00:00:02.1 +0,0,0,0,127,-121,-32,-92,7,0,21,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 22 COMMENT,undated,00:00:02.2 +0,0,0,0,-122,80,-117,-64,7,0,22,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 23 ELECTROMAGNETIC_EMISSION,undated,00:00:02.3 +0,0,0,0,-115,2,-10,96,7,0,23,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 24 DESIGNATOR,undated,00:00:02.4 +0,0,0,0,-109,-110,-9,60,7,0,24,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 25 TRANSMITTER,undated,00:00:02.5 +0,0,0,0,-102,69,-123,104,7,0,25,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 26 SIGNAL,undated,00:00:02.6 +0,0,0,0,-96,-68,105,92,7,0,26,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0 +# DisPduType 27 RECEIVER,undated,00:00:02.8 +0,0,0,0,-90,-18,-5,20,7,0,27,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 28 IDENTIFICATION_FRIEND_OR_FOE,undated,00:00:02.9 +0,0,0,0,-82,23,62,-40,7,0,28,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 29 UNDERWATER_ACOUSTIC,undated,00:00:03.0 +0,0,0,0,-76,-127,92,24,7,0,29,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 30 SUPPLEMENTAL_EMISSION_ENTITY_STATE,undated,00:00:03.1 +0,0,0,0,-69,39,-56,-52,7,0,30,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 31 INTERCOM_SIGNAL,undated,00:00:03.2 +0,0,0,0,-63,-25,73,108,7,0,31,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0 +# DisPduType 32 INTERCOM_CONTROL,undated,00:00:03.3 +0,0,0,0,-56,113,-119,60,7,0,32,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 33 AGGREGATE_STATE,undated,00:00:03.4 +0,0,0,0,-49,19,-42,20,7,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 34 ISGROUPOF,undated,00:00:03.5 +0,0,0,0,-43,40,-74,60,7,0,34,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 35 TRANSFER_OWNERSHIP,undated,00:00:03.6 +0,0,0,0,-37,-72,-15,76,7,0,35,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 36 ISPARTOF,undated,00:00:03.7 +0,0,0,0,-31,-15,0,-32,7,0,36,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 37 MINEFIELD_STATE,undated,00:00:03.8 +0,0,0,0,-24,32,84,-124,7,0,37,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 38 MINEFIELD_QUERY,undated,00:00:04.0 +0,0,0,0,-18,-125,-105,120,7,0,38,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 39 MINEFIELD_DATA,undated,00:00:04.1 +0,0,0,0,-11,75,-47,-80,7,0,39,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 40 MINEFIELD_RESPONSE_NACK,undated,00:00:04.2 +0,0,0,0,-4,98,112,68,7,0,40,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 41 ENVIRONMENTAL_PROCESS,undated,00:00:04.3 +0,0,0,1,3,31,3,72,7,0,41,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 42 GRIDDED_DATA,undated,00:00:04.4 +0,0,0,1,9,-116,31,84,7,0,42,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 43 POINT_OBJECT_STATE,undated,00:00:04.5 +0,0,0,1,15,-55,-127,4,7,0,43,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 44 LINEAR_OBJECT_STATE,undated,00:00:04.6 +0,0,0,1,22,21,74,-104,7,0,44,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 45 AREAL_OBJECT_STATE,undated,00:00:04.7 +0,0,0,1,28,-125,116,44,7,0,45,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 46 TIME_SPACE_POSITION_INFORMATION,undated,00:00:04.8 +0,0,0,1,34,-4,73,-56,7,0,46,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 47 APPEARANCE,undated,00:00:04.9 +0,0,0,1,41,99,39,100,7,0,47,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 48 ARTICULATED_PARTS,undated,00:00:05.0 +0,0,0,1,47,-75,119,-84,7,0,48,11,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 49 LIVE_ENTITY_FIRE,undated,00:00:05.2 +0,0,0,1,53,-4,118,-80,7,0,49,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 50 LIVE_ENTITY_DETONATION,undated,00:00:05.3 +0,0,0,1,60,55,-21,4,7,0,50,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 51 CREATE_ENTITY_RELIABLE,undated,00:00:05.4 +0,0,0,1,66,-27,1,-108,7,0,51,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 52 REMOVE_ENTITY_RELIABLE,undated,00:00:05.5 +0,0,0,1,73,27,-33,-80,7,0,52,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 53 START_RESUME_RELIABLE,undated,00:00:05.6 +0,0,0,1,79,-128,-92,48,7,0,53,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 54 STOP_FREEZE_RELIABLE,undated,00:00:05.7 +0,0,0,1,85,-87,-123,-44,7,0,54,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 55 ACKNOWLEDGE_RELIABLE,undated,00:00:05.8 +0,0,0,1,92,7,72,-8,7,0,55,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 +# DisPduType 56 ACTION_REQUEST_RELIABLE,undated,00:00:05.9 +0,0,0,1,98,46,45,60,7,0,56,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 57 ACTION_RESPONSE_RELIABLE,undated,00:00:06.0 +0,0,0,1,105,-64,-84,80,7,0,57,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 58 DATA_QUERY_RELIABLE,undated,00:00:06.1 +0,0,0,1,112,88,-115,-8,7,0,58,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 59 SET_DATA_RELIABLE,undated,00:00:06.2 +0,0,0,1,118,-37,-30,76,7,0,59,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 60 DATA_RELIABLE,undated,00:00:06.3 +0,0,0,1,124,-24,117,16,7,0,60,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 61 EVENT_REPORT_RELIABLE,undated,00:00:06.4 +0,0,0,1,-125,14,-57,60,7,0,61,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 62 COMMENT_RELIABLE,undated,00:00:06.5 +0,0,0,1,-119,19,59,24,7,0,62,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 63 RECORD_RELIABLE,undated,00:00:06.7 +0,0,0,1,-113,123,-3,20,7,0,63,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 64 SET_RECORD_RELIABLE,undated,00:00:06.8 +0,0,0,1,-106,24,-50,104,7,0,64,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 65 RECORD_QUERY_RELIABLE,undated,00:00:06.9 +0,0,0,1,-100,109,70,64,7,0,65,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 66 COLLISION_ELASTIC,undated,00:00:07.0 +0,0,0,1,-94,-89,104,-80,7,0,66,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 67 ENTITY_STATE_UPDATE,undated,00:00:07.1 +0,0,0,1,-88,-14,-9,72,7,0,67,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 68 DIRECTED_ENERGY_FIRE,undated,00:00:07.2 +0,0,0,1,-81,52,-49,40,7,0,68,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 69 ENTITY_DAMAGE_STATUS,undated,00:00:07.3 +0,0,0,1,-75,116,-101,-104,7,0,69,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 70 INFORMATION_OPERATIONS_ACTION,undated,00:00:07.4 +0,0,0,1,-68,101,-58,72,7,0,70,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 71 INFORMATION_OPERATIONS_REPORT,undated,00:00:07.5 +0,0,0,1,-62,-7,104,112,7,0,71,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +# DisPduType 72 ATTRIBUTE,undated,00:00:07.6 +0,0,0,1,-55,-18,60,-96,7,0,72,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 +# Finish, ENCODING_PLAINTEXT, [PduRecorder PduRecorder main() self test ENCODING_PLAINTEXT] 20220620_093613, DIS capture file, .\pduLog\PduRecorderSelfTestENCODING_PLAINTEXT_PduCaptureLog.dislog diff --git a/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestLog.txt b/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestLog.txt index 5f4f7b7e52bcaf994de16d2d07fe6a2714a60474..1d5b2f0263657a1c8a09064b4233ef74066f575a 100644 Binary files a/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestLog.txt and b/src/edu/nps/moves/dis7/utilities/stream/PduRecorderSelfTestLog.txt differ