diff --git a/examples/src/OpenDis7Examples/AllPduReceiver.java b/examples/src/OpenDis7Examples/AllPduReceiver.java index 8e11a561d967c4419f171a52c0d86164b5af9ffa..4770396748f648f58dd75b7c639a1b4f7eb1fef7 100644 --- a/examples/src/OpenDis7Examples/AllPduReceiver.java +++ b/examples/src/OpenDis7Examples/AllPduReceiver.java @@ -56,10 +56,13 @@ public class AllPduReceiver if (currentPduType.getValue() < 10) message.append(" "); message.append(currentPduType.getValue()); - message.append(" ").append(currentPduType); - message.append(" ").append(currentPduTypeName); - message.append(", protocolFamily ").append(currentProtocolFamilyID); - message.append(" ").append(currentPduFamilyName); + String currentPduTypePadded = String.format("%-34s", currentPduType); // - indicates right padding of whitespace + message.append(" " ).append(currentPduTypePadded); + String currentPduTypeNamePadded = String.format("%-49s", currentPduTypeName); // - indicates right padding of whitespace + message.append(" of type ").append(currentPduTypeNamePadded); // package.class name + message.append(" (protocolFamily ").append(currentProtocolFamilyID); +// message.append(" ").append(currentPduFamilyName); // class name is also available + message.append(")"); System.out.println(message.toString()); } else diff --git a/examples/src/OpenDis7Examples/AllPduReceiverLog.txt b/examples/src/OpenDis7Examples/AllPduReceiverLog.txt new file mode 100644 index 0000000000000000000000000000000000000000..3908e82c71f7814d052707fd9eb87a89e68768db --- /dev/null +++ b/examples/src/OpenDis7Examples/AllPduReceiverLog.txt @@ -0,0 +1,82 @@ +Invocation instructions: +1. run or debug AllPduReceiver.java + +Program response: + +=================================================== + +DisExamplesOpenDis7.PduReceiver started... +Usage: PduReceiver <port> <multicast group> +Default: PduReceiver 3000 239.1.2.3 +received DIS PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu (protocolFamily ENTITY_INFORMATION_INTERACTION) +received DIS PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu (protocolFamily WARFARE) +received DIS PDU 3 DETONATION of type edu.nps.moves.dis7.DetonationPdu (protocolFamily WARFARE) +received DIS PDU 4 COLLISION of type edu.nps.moves.dis7.CollisionPdu (protocolFamily ENTITY_INFORMATION_INTERACTION) +received DIS PDU 5 SERVICE_REQUEST of type edu.nps.moves.dis7.ServiceRequestPdu (protocolFamily LOGISTICS) +received DIS PDU 6 RESUPPLY_OFFER of type edu.nps.moves.dis7.ResupplyOfferPdu (protocolFamily LOGISTICS) +received DIS PDU 7 RESUPPLY_RECEIVED of type edu.nps.moves.dis7.ResupplyReceivedPdu (protocolFamily LOGISTICS) +received DIS PDU 8 RESUPPLY_CANCEL of type edu.nps.moves.dis7.ResupplyCancelPdu (protocolFamily LOGISTICS) +received DIS PDU 9 REPAIR_COMPLETE of type edu.nps.moves.dis7.RepairCompletePdu (protocolFamily LOGISTICS) +received DIS PDU 10 REPAIR_RESPONSE of type edu.nps.moves.dis7.RepairResponsePdu (protocolFamily LOGISTICS) +received DIS PDU 11 CREATE_ENTITY of type edu.nps.moves.dis7.CreateEntityPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 12 REMOVE_ENTITY of type edu.nps.moves.dis7.RemoveEntityPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 13 START_RESUME of type edu.nps.moves.dis7.StartResumePdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 14 STOP_FREEZE of type edu.nps.moves.dis7.StopFreezePdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 15 ACKNOWLEDGE of type edu.nps.moves.dis7.AcknowledgePdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 16 ACTION_REQUEST of type edu.nps.moves.dis7.ActionRequestPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 17 ACTION_RESPONSE of type edu.nps.moves.dis7.ActionResponsePdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 18 DATA_QUERY of type edu.nps.moves.dis7.DataQueryPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 19 SET_DATA of type edu.nps.moves.dis7.SetDataPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 20 DATA of type edu.nps.moves.dis7.DataPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 21 EVENT_REPORT of type edu.nps.moves.dis7.EventReportPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 22 COMMENT of type edu.nps.moves.dis7.CommentPdu (protocolFamily SIMULATION_MANAGEMENT) +received DIS PDU 23 ELECTROMAGNETIC_EMISSION of type edu.nps.moves.dis7.ElectromagneticEmissionPdu (protocolFamily DISTRIBUTED_EMISSION_REGENERATION) +received DIS PDU 24 DESIGNATOR of type edu.nps.moves.dis7.DesignatorPdu (protocolFamily DISTRIBUTED_EMISSION_REGENERATION) +received DIS PDU 25 TRANSMITTER of type edu.nps.moves.dis7.TransmitterPdu (protocolFamily RADIO_COMMUNICATIONS) +received DIS PDU 26 SIGNAL of type edu.nps.moves.dis7.SignalPdu (protocolFamily RADIO_COMMUNICATIONS) +received DIS PDU 27 RECEIVER of type edu.nps.moves.dis7.ReceiverPdu (protocolFamily RADIO_COMMUNICATIONS) +received DIS PDU 28 IDENTIFICATION_FRIEND_OR_FOE of type edu.nps.moves.dis7.IFFPdu (protocolFamily DISTRIBUTED_EMISSION_REGENERATION) +received DIS PDU 29 UNDERWATER_ACOUSTIC of type edu.nps.moves.dis7.UnderwaterAcousticPdu (protocolFamily DISTRIBUTED_EMISSION_REGENERATION) +received DIS PDU 30 SUPPLEMENTAL_EMISSION_ENTITY_STATE of type edu.nps.moves.dis7.SEESPdu (protocolFamily DISTRIBUTED_EMISSION_REGENERATION) +received DIS PDU 31 INTERCOM_SIGNAL of type edu.nps.moves.dis7.IntercomSignalPdu (protocolFamily RADIO_COMMUNICATIONS) +received DIS PDU 32 INTERCOM_CONTROL of type edu.nps.moves.dis7.IntercomControlPdu (protocolFamily RADIO_COMMUNICATIONS) +received DIS PDU 33 AGGREGATE_STATE of type edu.nps.moves.dis7.AggregateStatePdu (protocolFamily ENTITY_MANAGEMENT) +received DIS PDU 34 ISGROUPOF of type edu.nps.moves.dis7.IsGroupOfPdu (protocolFamily ENTITY_MANAGEMENT) +received DIS PDU 35 TRANSFER_OWNERSHIP of type edu.nps.moves.dis7.TransferOwnershipPdu (protocolFamily ENTITY_MANAGEMENT) +received DIS PDU 36 ISPARTOF of type edu.nps.moves.dis7.IsPartOfPdu (protocolFamily ENTITY_MANAGEMENT) +received DIS PDU 37 MINEFIELD_STATE of type edu.nps.moves.dis7.MinefieldStatePdu (protocolFamily MINEFIELD) +received DIS PDU 38 MINEFIELD_QUERY of type edu.nps.moves.dis7.MinefieldQueryPdu (protocolFamily MINEFIELD) +received DIS PDU 39 MINEFIELD_DATA of type edu.nps.moves.dis7.MinefieldDataPdu (protocolFamily MINEFIELD) +received DIS PDU 40 MINEFIELD_RESPONSE_NACK of type edu.nps.moves.dis7.MinefieldResponseNACKPdu (protocolFamily MINEFIELD) +received DIS PDU 41 ENVIRONMENTAL_PROCESS of type edu.nps.moves.dis7.EnvironmentalProcessPdu (protocolFamily SYNTHETIC_ENVIRONMENT) +received DIS PDU 42 GRIDDED_DATA of type edu.nps.moves.dis7.GriddedDataPdu (protocolFamily SYNTHETIC_ENVIRONMENT) +received DIS PDU 43 POINT_OBJECT_STATE of type edu.nps.moves.dis7.PointObjectStatePdu (protocolFamily SYNTHETIC_ENVIRONMENT) +received DIS PDU 44 LINEAR_OBJECT_STATE of type edu.nps.moves.dis7.LinearObjectStatePdu (protocolFamily SYNTHETIC_ENVIRONMENT) +received DIS PDU 45 AREAL_OBJECT_STATE of type edu.nps.moves.dis7.ArealObjectStatePdu (protocolFamily SYNTHETIC_ENVIRONMENT) +received DIS PDU 46 TIME_SPACE_POSITION_INFORMATION of type edu.nps.moves.dis7.TSPIPdu (protocolFamily LIVE_ENTITY_LE_INFORMATION_INTERACTION) +received DIS PDU 47 APPEARANCE of type edu.nps.moves.dis7.AppearancePdu (protocolFamily LIVE_ENTITY_LE_INFORMATION_INTERACTION) +received DIS PDU 48 ARTICULATED_PARTS of type edu.nps.moves.dis7.ArticulatedPartsPdu (protocolFamily LIVE_ENTITY_LE_INFORMATION_INTERACTION) +received DIS PDU 49 LIVE_ENTITY_FIRE of type edu.nps.moves.dis7.LEFirePdu (protocolFamily LIVE_ENTITY_LE_INFORMATION_INTERACTION) +received DIS PDU 50 LIVE_ENTITY_DETONATION of type edu.nps.moves.dis7.LEDetonationPdu (protocolFamily LIVE_ENTITY_LE_INFORMATION_INTERACTION) +received DIS PDU 51 CREATE_ENTITY_RELIABLE of type edu.nps.moves.dis7.CreateEntityReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 52 REMOVE_ENTITY_RELIABLE of type edu.nps.moves.dis7.RemoveEntityReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 53 START_RESUME_RELIABLE of type edu.nps.moves.dis7.StartResumeReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 54 STOP_FREEZE_RELIABLE of type edu.nps.moves.dis7.StopFreezeReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 55 ACKNOWLEDGE_RELIABLE of type edu.nps.moves.dis7.AcknowledgeReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 56 ACTION_REQUEST_RELIABLE of type edu.nps.moves.dis7.ActionRequestReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 57 ACTION_RESPONSE_RELIABLE of type edu.nps.moves.dis7.ActionResponseReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 58 DATA_QUERY_RELIABLE of type edu.nps.moves.dis7.DataQueryReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 59 SET_DATA_RELIABLE of type edu.nps.moves.dis7.SetDataReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 60 DATA_RELIABLE of type edu.nps.moves.dis7.DataReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 61 EVENT_REPORT_RELIABLE of type edu.nps.moves.dis7.EventReportReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 62 COMMENT_RELIABLE of type edu.nps.moves.dis7.CommentReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 63 RECORD_RELIABLE of type edu.nps.moves.dis7.RecordReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 64 SET_RECORD_RELIABLE of type edu.nps.moves.dis7.SetRecordReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 65 RECORD_QUERY_RELIABLE of type edu.nps.moves.dis7.RecordQueryReliablePdu (protocolFamily SIMULATION_MANAGEMENT_WITH_RELIABILITY) +received DIS PDU 66 COLLISION_ELASTIC of type edu.nps.moves.dis7.CollisionElasticPdu (protocolFamily ENTITY_INFORMATION_INTERACTION) +received DIS PDU 67 ENTITY_STATE_UPDATE of type edu.nps.moves.dis7.EntityStateUpdatePdu (protocolFamily ENTITY_INFORMATION_INTERACTION) +received DIS PDU 68 DIRECTED_ENERGY_FIRE of type edu.nps.moves.dis7.DirectedEnergyFirePdu (protocolFamily WARFARE) +received DIS PDU 69 ENTITY_DAMAGE_STATUS of type edu.nps.moves.dis7.EntityDamageStatusPdu (protocolFamily WARFARE) +received DIS PDU 70 INFORMATION_OPERATIONS_ACTION of type edu.nps.moves.dis7.InformationOperationsActionPdu (protocolFamily INFORMATION_OPERATIONS) +received DIS PDU 71 INFORMATION_OPERATIONS_REPORT of type edu.nps.moves.dis7.InformationOperationsReportPdu (protocolFamily INFORMATION_OPERATIONS) +received DIS PDU 72 ATTRIBUTE of type edu.nps.moves.dis7.AttributePdu (protocolFamily ENTITY_INFORMATION_INTERACTION) diff --git a/examples/src/OpenDis7Examples/AllPduSender.java b/examples/src/OpenDis7Examples/AllPduSender.java index eb39c44752ab49dde3b628c6c3f420e86117634a..34f7c6cb426c8c91bb6b9ac6a998467ae8f06aeb 100755 --- a/examples/src/OpenDis7Examples/AllPduSender.java +++ b/examples/src/OpenDis7Examples/AllPduSender.java @@ -46,7 +46,7 @@ public class AllPduSender System.out.println("DisExamplesOpenDis7.PduSender started..."); try { - System.out.println("Generate PDUs and note issues (if any)..."); + System.out.println("Generate PDUs and note issues, if any..."); List<Pdu> generatedPdusList = new ArrayList<>(); // Loop through all the enumerated PDU types, create a PDU for each type, @@ -61,7 +61,7 @@ public class AllPduSender switch (pdu) // using enumeration values from edu.​nps.​moves.​dis7.​enumerations.​DISPDUType { case OTHER: // 0 - System.out.println ("*** Note: DISPDUType." + pdu.name() + " not supported"); // TODO explain + System.out.println ("*** Note: DISPDUType." + pdu.name() + " not supported"); // TODO why was this received? // nothing to send break; @@ -410,8 +410,14 @@ public class AllPduSender buffer = baos.toByteArray(); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, localMulticastAddress, DEFAULT_MULTICAST_PORT); socket.send(packet); - try{Thread.sleep(100L);}catch(InterruptedException ex){} - System.out.println("Sent PDU " + aPdu.getPduType().getValue() + " " + aPdu.getPduType() + " of type " + aPdu.getClass().getName()); + try { + Thread.sleep(100L); + } catch (InterruptedException ex) { + } + String currentPduTypeValuePadded = String.format("%2s", aPdu.getPduType().getValue()); + String currentPduTypePadded = String.format("%-34s", aPdu.getPduType()); // - indicates right padding of whitespace + System.out.print ("Sent DISs PDU " + currentPduTypeValuePadded + " " + currentPduTypePadded ); + System.out.println(" of type " + aPdu.getClass().getName()); } // write the PDUs out to an XML file. //PduContainer container = new PduContainer(); diff --git a/examples/src/OpenDis7Examples/AllPduSenderLog.txt b/examples/src/OpenDis7Examples/AllPduSenderLog.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ad5feee7eeb2d4a028f2be61c1afd342608abae --- /dev/null +++ b/examples/src/OpenDis7Examples/AllPduSenderLog.txt @@ -0,0 +1,86 @@ +Invocation instructions: +1. run or debug AllPduSender.java + +Program response: + +=================================================== + +Usage: PduSender <port> <multicast group> +Default: PduSender 3000 239.1.2.3 +DisExamplesOpenDis7.PduSender started... +Generate PDUs and note issues, if any: +*** Note: DISPDUType.OTHER not supported +Send the 72 PDUs we created... +Sent PDU 1 ENTITY_STATE of type edu.nps.moves.dis7.EntityStatePdu +Sent PDU 2 FIRE of type edu.nps.moves.dis7.FirePdu +Sent PDU 3 DETONATION of type edu.nps.moves.dis7.DetonationPdu +Sent PDU 4 COLLISION of type edu.nps.moves.dis7.CollisionPdu +Sent PDU 5 SERVICE_REQUEST of type edu.nps.moves.dis7.ServiceRequestPdu +Sent PDU 6 RESUPPLY_OFFER of type edu.nps.moves.dis7.ResupplyOfferPdu +Sent PDU 7 RESUPPLY_RECEIVED of type edu.nps.moves.dis7.ResupplyReceivedPdu +Sent PDU 8 RESUPPLY_CANCEL of type edu.nps.moves.dis7.ResupplyCancelPdu +Sent PDU 9 REPAIR_COMPLETE of type edu.nps.moves.dis7.RepairCompletePdu +Sent PDU 10 REPAIR_RESPONSE of type edu.nps.moves.dis7.RepairResponsePdu +Sent PDU 11 CREATE_ENTITY of type edu.nps.moves.dis7.CreateEntityPdu +Sent PDU 12 REMOVE_ENTITY of type edu.nps.moves.dis7.RemoveEntityPdu +Sent PDU 13 START_RESUME of type edu.nps.moves.dis7.StartResumePdu +Sent PDU 14 STOP_FREEZE of type edu.nps.moves.dis7.StopFreezePdu +Sent PDU 15 ACKNOWLEDGE of type edu.nps.moves.dis7.AcknowledgePdu +Sent PDU 16 ACTION_REQUEST of type edu.nps.moves.dis7.ActionRequestPdu +Sent PDU 17 ACTION_RESPONSE of type edu.nps.moves.dis7.ActionResponsePdu +Sent PDU 18 DATA_QUERY of type edu.nps.moves.dis7.DataQueryPdu +Sent PDU 19 SET_DATA of type edu.nps.moves.dis7.SetDataPdu +Sent PDU 20 DATA of type edu.nps.moves.dis7.DataPdu +Sent PDU 21 EVENT_REPORT of type edu.nps.moves.dis7.EventReportPdu +Sent PDU 22 COMMENT of type edu.nps.moves.dis7.CommentPdu +Sent PDU 23 ELECTROMAGNETIC_EMISSION of type edu.nps.moves.dis7.ElectromagneticEmissionPdu +Sent PDU 24 DESIGNATOR of type edu.nps.moves.dis7.DesignatorPdu +Sent PDU 25 TRANSMITTER of type edu.nps.moves.dis7.TransmitterPdu +Sent PDU 26 SIGNAL of type edu.nps.moves.dis7.SignalPdu +Sent PDU 27 RECEIVER of type edu.nps.moves.dis7.ReceiverPdu +Sent PDU 28 IDENTIFICATION_FRIEND_OR_FOE of type edu.nps.moves.dis7.IdentificationFriendOrFoePdu +Sent PDU 29 UNDERWATER_ACOUSTIC of type edu.nps.moves.dis7.UnderwaterAcousticPdu +Sent PDU 30 SUPPLEMENTAL_EMISSION_ENTITY_STATE of type edu.nps.moves.dis7.SupplementalEmissionEntityStatePdu +Sent PDU 31 INTERCOM_SIGNAL of type edu.nps.moves.dis7.IntercomSignalPdu +Sent PDU 32 INTERCOM_CONTROL of type edu.nps.moves.dis7.IntercomControlPdu +Sent PDU 33 AGGREGATE_STATE of type edu.nps.moves.dis7.AggregateStatePdu +Sent PDU 34 ISGROUPOF of type edu.nps.moves.dis7.IsGroupOfPdu +Sent PDU 35 TRANSFER_OWNERSHIP of type edu.nps.moves.dis7.TransferOwnershipPdu +Sent PDU 36 ISPARTOF of type edu.nps.moves.dis7.IsPartOfPdu +Sent PDU 37 MINEFIELD_STATE of type edu.nps.moves.dis7.MinefieldStatePdu +Sent PDU 38 MINEFIELD_QUERY of type edu.nps.moves.dis7.MinefieldQueryPdu +Sent PDU 39 MINEFIELD_DATA of type edu.nps.moves.dis7.MinefieldDataPdu +Sent PDU 40 MINEFIELD_RESPONSE_NACK of type edu.nps.moves.dis7.MinefieldResponseNACKPdu +Sent PDU 41 ENVIRONMENTAL_PROCESS of type edu.nps.moves.dis7.EnvironmentalProcessPdu +Sent PDU 42 GRIDDED_DATA of type edu.nps.moves.dis7.GriddedDataPdu +Sent PDU 43 POINT_OBJECT_STATE of type edu.nps.moves.dis7.PointObjectStatePdu +Sent PDU 44 LINEAR_OBJECT_STATE of type edu.nps.moves.dis7.LinearObjectStatePdu +Sent PDU 45 AREAL_OBJECT_STATE of type edu.nps.moves.dis7.ArealObjectStatePdu +Sent PDU 46 TIME_SPACE_POSITION_INFORMATION of type edu.nps.moves.dis7.TimeSpacePositionInformationPdu +Sent PDU 47 APPEARANCE of type edu.nps.moves.dis7.AppearancePdu +Sent PDU 48 ARTICULATED_PARTS of type edu.nps.moves.dis7.ArticulatedPartsPdu +Sent PDU 49 LIVE_ENTITY_FIRE of type edu.nps.moves.dis7.LiveEntityFirePdu +Sent PDU 50 LIVE_ENTITY_DETONATION of type edu.nps.moves.dis7.LiveEntityDetonationPdu +Sent PDU 51 CREATE_ENTITY_RELIABLE of type edu.nps.moves.dis7.CreateEntityReliablePdu +Sent PDU 52 REMOVE_ENTITY_RELIABLE of type edu.nps.moves.dis7.RemoveEntityReliablePdu +Sent PDU 53 START_RESUME_RELIABLE of type edu.nps.moves.dis7.StartResumeReliablePdu +Sent PDU 54 STOP_FREEZE_RELIABLE of type edu.nps.moves.dis7.StopFreezeReliablePdu +Sent PDU 55 ACKNOWLEDGE_RELIABLE of type edu.nps.moves.dis7.AcknowledgeReliablePdu +Sent PDU 56 ACTION_REQUEST_RELIABLE of type edu.nps.moves.dis7.ActionRequestReliablePdu +Sent PDU 57 ACTION_RESPONSE_RELIABLE of type edu.nps.moves.dis7.ActionResponseReliablePdu +Sent PDU 58 DATA_QUERY_RELIABLE of type edu.nps.moves.dis7.DataQueryReliablePdu +Sent PDU 59 SET_DATA_RELIABLE of type edu.nps.moves.dis7.SetDataReliablePdu +Sent PDU 60 DATA_RELIABLE of type edu.nps.moves.dis7.DataReliablePdu +Sent PDU 61 EVENT_REPORT_RELIABLE of type edu.nps.moves.dis7.EventReportReliablePdu +Sent PDU 62 COMMENT_RELIABLE of type edu.nps.moves.dis7.CommentReliablePdu +Sent PDU 63 RECORD_RELIABLE of type edu.nps.moves.dis7.RecordReliablePdu +Sent PDU 64 SET_RECORD_RELIABLE of type edu.nps.moves.dis7.SetRecordReliablePdu +Sent PDU 65 RECORD_QUERY_RELIABLE of type edu.nps.moves.dis7.RecordQueryReliablePdu +Sent PDU 66 COLLISION_ELASTIC of type edu.nps.moves.dis7.CollisionElasticPdu +Sent PDU 67 ENTITY_STATE_UPDATE of type edu.nps.moves.dis7.EntityStateUpdatePdu +Sent PDU 68 DIRECTED_ENERGY_FIRE of type edu.nps.moves.dis7.DirectedEnergyFirePdu +Sent PDU 69 ENTITY_DAMAGE_STATUS of type edu.nps.moves.dis7.EntityDamageStatusPdu +Sent PDU 70 INFORMATION_OPERATIONS_ACTION of type edu.nps.moves.dis7.InformationOperationsActionPdu +Sent PDU 71 INFORMATION_OPERATIONS_REPORT of type edu.nps.moves.dis7.InformationOperationsReportPdu +Sent PDU 72 ATTRIBUTE of type edu.nps.moves.dis7.AttributePdu +BUILD SUCCESSFUL (total time: 8 seconds)