monotonically increasing number
class ResupplyOfferPdu
Information used to communicate the offer of supplies by a supplying entity to a receiving entity. Section 7.4.3 COMPLETE
class ResupplyOfferPdu( LogisticsFamilyPdu ):
"""Information used to communicate the offer of supplies by a supplying entity to a receiving entity. Section 7.4.3 COMPLETE"""
def __init__(self):
""" Initializer for ResupplyOfferPdu"""
super(ResupplyOfferPdu, self).__init__()
self.receivingEntityID = EntityID();
""" Field identifies the Entity and respective Entity Record ID that is receiving service (see 6.2.28), Section 7.4.3"""
self.supplyingEntityID = EntityID();
""" Identifies the Entity and respective Entity ID Record that is supplying (see 6.2.28), Section 7.4.3"""
self.numberOfSupplyTypes = 0
""" How many supplies types are being offered, Section 7.4.3"""
self.padding1 = 0
""" padding"""
self.padding2 = 0
""" padding"""
self.supplies = []
""" A Reord that Specifies the type of supply and the amount of that supply for each of the supply types in numberOfSupplyTypes (see 6.2.85), Section 7.4.3"""
self.pduType = 6
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( ResupplyOfferPdu, self ).serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
self.supplyingEntityID.serialize(outputStream)
outputStream.write_unsigned_byte( len(self.supplies));
outputStream.write_byte(self.padding1);
outputStream.write_short(self.padding2);
for anObj in self.supplies:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ResupplyOfferPdu, self).parse(inputStream)
self.receivingEntityID.parse(inputStream)
self.supplyingEntityID.parse(inputStream)
self.numberOfSupplyTypes = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_byte();
self.padding2 = inputStream.read_short();
for idx in range(0, self.numberOfSupplyTypes):
element = null()
element.parse(inputStream)
self.supplies.append(element)
Ancestors (in MRO)
- ResupplyOfferPdu
- LogisticsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for ResupplyOfferPdu
def __init__(self):
""" Initializer for ResupplyOfferPdu"""
super(ResupplyOfferPdu, self).__init__()
self.receivingEntityID = EntityID();
""" Field identifies the Entity and respective Entity Record ID that is receiving service (see 6.2.28), Section 7.4.3"""
self.supplyingEntityID = EntityID();
""" Identifies the Entity and respective Entity ID Record that is supplying (see 6.2.28), Section 7.4.3"""
self.numberOfSupplyTypes = 0
""" How many supplies types are being offered, Section 7.4.3"""
self.padding1 = 0
""" padding"""
self.padding2 = 0
""" padding"""
self.supplies = []
""" A Reord that Specifies the type of supply and the amount of that supply for each of the supply types in numberOfSupplyTypes (see 6.2.85), Section 7.4.3"""
self.pduType = 6
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ResupplyOfferPdu, self).parse(inputStream)
self.receivingEntityID.parse(inputStream)
self.supplyingEntityID.parse(inputStream)
self.numberOfSupplyTypes = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_byte();
self.padding2 = inputStream.read_short();
for idx in range(0, self.numberOfSupplyTypes):
element = null()
element.parse(inputStream)
self.supplies.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( ResupplyOfferPdu, self ).serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
self.supplyingEntityID.serialize(outputStream)
outputStream.write_unsigned_byte( len(self.supplies));
outputStream.write_byte(self.padding1);
outputStream.write_short(self.padding2);
for anObj in self.supplies:
anObj.serialize(outputStream)
Instance variables
var numberOfSupplyTypes
How many supplies types are being offered, Section 7.4.3
var padding1
padding
var padding2
padding
var pduType
initialize value
var receivingEntityID
Field identifies the Entity and respective Entity Record ID that is receiving service (see 6.2.28), Section 7.4.3
var supplies
A Reord that Specifies the type of supply and the amount of that supply for each of the supply types in numberOfSupplyTypes (see 6.2.85), Section 7.4.3
var supplyingEntityID
Identifies the Entity and respective Entity ID Record that is supplying (see 6.2.28), Section 7.4.3
class ResupplyReceivedPdu
Section 7.4.4. Receipt of supplies is communicated by issuing Resupply Received PDU. COMPLETE
class ResupplyReceivedPdu( LogisticsFamilyPdu ):
"""Section 7.4.4. Receipt of supplies is communicated by issuing Resupply Received PDU. COMPLETE"""
def __init__(self):
""" Initializer for ResupplyReceivedPdu"""
super(ResupplyReceivedPdu, self).__init__()
self.receivingEntityID = EntityID();
""" Entity that is receiving service. Shall be represented by Entity Identifier record (see 6.2.28)"""
self.supplyingEntityID = EntityID();
""" Entity that is supplying. Shall be represented by Entity Identifier record (see 6.2.28)"""
self.numberOfSupplyTypes = 0
""" How many supplies are taken by receiving entity"""
self.padding1 = 0
""" padding"""
self.padding2 = 0
""" padding"""
self.supplies = []
""" Type and amount of supplies for each specified supply type. See 6.2.85 for supply quantity record."""
self.pduType = 7
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( ResupplyReceivedPdu, self ).serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
self.supplyingEntityID.serialize(outputStream)
outputStream.write_unsigned_byte( len(self.supplies));
outputStream.write_short(self.padding1);
outputStream.write_byte(self.padding2);
for anObj in self.supplies:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ResupplyReceivedPdu, self).parse(inputStream)
self.receivingEntityID.parse(inputStream)
self.supplyingEntityID.parse(inputStream)
self.numberOfSupplyTypes = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_short();
self.padding2 = inputStream.read_byte();
for idx in range(0, self.numberOfSupplyTypes):
element = null()
element.parse(inputStream)
self.supplies.append(element)
Ancestors (in MRO)
- ResupplyReceivedPdu
- LogisticsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for ResupplyReceivedPdu
def __init__(self):
""" Initializer for ResupplyReceivedPdu"""
super(ResupplyReceivedPdu, self).__init__()
self.receivingEntityID = EntityID();
""" Entity that is receiving service. Shall be represented by Entity Identifier record (see 6.2.28)"""
self.supplyingEntityID = EntityID();
""" Entity that is supplying. Shall be represented by Entity Identifier record (see 6.2.28)"""
self.numberOfSupplyTypes = 0
""" How many supplies are taken by receiving entity"""
self.padding1 = 0
""" padding"""
self.padding2 = 0
""" padding"""
self.supplies = []
""" Type and amount of supplies for each specified supply type. See 6.2.85 for supply quantity record."""
self.pduType = 7
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ResupplyReceivedPdu, self).parse(inputStream)
self.receivingEntityID.parse(inputStream)
self.supplyingEntityID.parse(inputStream)
self.numberOfSupplyTypes = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_short();
self.padding2 = inputStream.read_byte();
for idx in range(0, self.numberOfSupplyTypes):
element = null()
element.parse(inputStream)
self.supplies.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( ResupplyReceivedPdu, self ).serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
self.supplyingEntityID.serialize(outputStream)
outputStream.write_unsigned_byte( len(self.supplies));
outputStream.write_short(self.padding1);
outputStream.write_byte(self.padding2);
for anObj in self.supplies:
anObj.serialize(outputStream)
Instance variables
var numberOfSupplyTypes
How many supplies are taken by receiving entity
var padding1
padding
var padding2
padding
var pduType
initialize value
var receivingEntityID
Entity that is receiving service. Shall be represented by Entity Identifier record (see 6.2.28)
var supplies
Type and amount of supplies for each specified supply type. See 6.2.85 for supply quantity record.
var supplyingEntityID
Entity that is supplying. Shall be represented by Entity Identifier record (see 6.2.28)
class SecondaryOperationalData
Additional operational data for an IFF emitting system and the number of IFF Fundamental Parameter Data records Section 6.2.76.
class SecondaryOperationalData( object ):
"""Additional operational data for an IFF emitting system and the number of IFF Fundamental Parameter Data records Section 6.2.76."""
def __init__(self):
""" Initializer for SecondaryOperationalData"""
self.operationalData1 = 0
""" additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type."""
self.operationalData2 = 0
""" additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type."""
self.numberOfIFFFundamentalParameterRecords = 0
""" the number of IFF Fundamental Parameter Data records that follow"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.operationalData1);
outputStream.write_unsigned_byte(self.operationalData2);
outputStream.write_unsigned_short(self.numberOfIFFFundamentalParameterRecords);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.operationalData1 = inputStream.read_unsigned_byte();
self.operationalData2 = inputStream.read_unsigned_byte();
self.numberOfIFFFundamentalParameterRecords = inputStream.read_unsigned_short();
Ancestors (in MRO)
- SecondaryOperationalData
- builtins.object
Static methods
def __init__(
self)
Initializer for SecondaryOperationalData
def __init__(self):
""" Initializer for SecondaryOperationalData"""
self.operationalData1 = 0
""" additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type."""
self.operationalData2 = 0
""" additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type."""
self.numberOfIFFFundamentalParameterRecords = 0
""" the number of IFF Fundamental Parameter Data records that follow"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.operationalData1 = inputStream.read_unsigned_byte();
self.operationalData2 = inputStream.read_unsigned_byte();
self.numberOfIFFFundamentalParameterRecords = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.operationalData1);
outputStream.write_unsigned_byte(self.operationalData2);
outputStream.write_unsigned_short(self.numberOfIFFFundamentalParameterRecords);
Instance variables
var numberOfIFFFundamentalParameterRecords
the number of IFF Fundamental Parameter Data records that follow
var operationalData1
additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type.
var operationalData2
additional operational characteristics of the IFF emitting system. Each 8-bit field will vary depending on the system type.
class SeesPdu
SEES PDU, supplemental emissions entity state information. Section 7.6.6 COMPLETE
class SeesPdu( DistributedEmissionsFamilyPdu ):
""" SEES PDU, supplemental emissions entity state information. Section 7.6.6 COMPLETE"""
def __init__(self):
""" Initializer for SeesPdu"""
super(SeesPdu, self).__init__()
self.orginatingEntityID = EntityID();
""" Originating entity ID"""
self.infraredSignatureRepresentationIndex = 0
""" IR Signature representation index"""
self.acousticSignatureRepresentationIndex = 0
""" acoustic Signature representation index"""
self.radarCrossSectionSignatureRepresentationIndex = 0
""" radar cross section representation index"""
self.numberOfPropulsionSystems = 0
""" how many propulsion systems"""
self.numberOfVectoringNozzleSystems = 0
""" how many vectoring nozzle systems"""
self.propulsionSystemData = []
""" variable length list of propulsion system data"""
self.vectoringSystemData = []
""" variable length list of vectoring system data"""
self.pduType = 30
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SeesPdu, self ).serialize(outputStream)
self.orginatingEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.infraredSignatureRepresentationIndex);
outputStream.write_unsigned_short(self.acousticSignatureRepresentationIndex);
outputStream.write_unsigned_short(self.radarCrossSectionSignatureRepresentationIndex);
outputStream.write_unsigned_short( len(self.propulsionSystemData));
outputStream.write_unsigned_short( len(self.vectoringSystemData));
for anObj in self.propulsionSystemData:
anObj.serialize(outputStream)
for anObj in self.vectoringSystemData:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SeesPdu, self).parse(inputStream)
self.orginatingEntityID.parse(inputStream)
self.infraredSignatureRepresentationIndex = inputStream.read_unsigned_short();
self.acousticSignatureRepresentationIndex = inputStream.read_unsigned_short();
self.radarCrossSectionSignatureRepresentationIndex = inputStream.read_unsigned_short();
self.numberOfPropulsionSystems = inputStream.read_unsigned_short();
self.numberOfVectoringNozzleSystems = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfPropulsionSystems):
element = null()
element.parse(inputStream)
self.propulsionSystemData.append(element)
for idx in range(0, self.numberOfVectoringNozzleSystems):
element = null()
element.parse(inputStream)
self.vectoringSystemData.append(element)
Ancestors (in MRO)
- SeesPdu
- DistributedEmissionsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for SeesPdu
def __init__(self):
""" Initializer for SeesPdu"""
super(SeesPdu, self).__init__()
self.orginatingEntityID = EntityID();
""" Originating entity ID"""
self.infraredSignatureRepresentationIndex = 0
""" IR Signature representation index"""
self.acousticSignatureRepresentationIndex = 0
""" acoustic Signature representation index"""
self.radarCrossSectionSignatureRepresentationIndex = 0
""" radar cross section representation index"""
self.numberOfPropulsionSystems = 0
""" how many propulsion systems"""
self.numberOfVectoringNozzleSystems = 0
""" how many vectoring nozzle systems"""
self.propulsionSystemData = []
""" variable length list of propulsion system data"""
self.vectoringSystemData = []
""" variable length list of vectoring system data"""
self.pduType = 30
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SeesPdu, self).parse(inputStream)
self.orginatingEntityID.parse(inputStream)
self.infraredSignatureRepresentationIndex = inputStream.read_unsigned_short();
self.acousticSignatureRepresentationIndex = inputStream.read_unsigned_short();
self.radarCrossSectionSignatureRepresentationIndex = inputStream.read_unsigned_short();
self.numberOfPropulsionSystems = inputStream.read_unsigned_short();
self.numberOfVectoringNozzleSystems = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfPropulsionSystems):
element = null()
element.parse(inputStream)
self.propulsionSystemData.append(element)
for idx in range(0, self.numberOfVectoringNozzleSystems):
element = null()
element.parse(inputStream)
self.vectoringSystemData.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SeesPdu, self ).serialize(outputStream)
self.orginatingEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.infraredSignatureRepresentationIndex);
outputStream.write_unsigned_short(self.acousticSignatureRepresentationIndex);
outputStream.write_unsigned_short(self.radarCrossSectionSignatureRepresentationIndex);
outputStream.write_unsigned_short( len(self.propulsionSystemData));
outputStream.write_unsigned_short( len(self.vectoringSystemData));
for anObj in self.propulsionSystemData:
anObj.serialize(outputStream)
for anObj in self.vectoringSystemData:
anObj.serialize(outputStream)
Instance variables
var acousticSignatureRepresentationIndex
acoustic Signature representation index
var infraredSignatureRepresentationIndex
IR Signature representation index
var numberOfPropulsionSystems
how many propulsion systems
var numberOfVectoringNozzleSystems
how many vectoring nozzle systems
var orginatingEntityID
Originating entity ID
var pduType
initialize value
var propulsionSystemData
variable length list of propulsion system data
var radarCrossSectionSignatureRepresentationIndex
radar cross section representation index
var vectoringSystemData
variable length list of vectoring system data
class Sensor
An entity's sensor information. Section 6.2.77.
class Sensor( object ):
"""An entity's sensor information. Section 6.2.77."""
def __init__(self):
""" Initializer for Sensor"""
self.sensorTypeSource = 0
""" the source of the Sensor Type field """
self.sensorOnOffStatus = 0
""" the on/off status of the sensor"""
self.sensorType = 0
""" the sensor type and shall be represented by a 16-bit enumeration. """
self.station = 0
""" the station to which the sensor is assigned. A zero value shall indi- cate that this Sensor record is not associated with any particular station and represents the total quan- tity of this sensor for this entity. If this field is non-zero, it shall either reference an attached part or an articulated part"""
self.quantity = 0
""" quantity of the sensor """
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.sensorTypeSource);
outputStream.write_unsigned_byte(self.sensorOnOffStatus);
outputStream.write_unsigned_short(self.sensorType);
outputStream.write_unsigned_int(self.station);
outputStream.write_unsigned_short(self.quantity);
outputStream.write_unsigned_short(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.sensorTypeSource = inputStream.read_unsigned_byte();
self.sensorOnOffStatus = inputStream.read_unsigned_byte();
self.sensorType = inputStream.read_unsigned_short();
self.station = inputStream.read_unsigned_int();
self.quantity = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
Ancestors (in MRO)
- Sensor
- builtins.object
Static methods
def __init__(
self)
Initializer for Sensor
def __init__(self):
""" Initializer for Sensor"""
self.sensorTypeSource = 0
""" the source of the Sensor Type field """
self.sensorOnOffStatus = 0
""" the on/off status of the sensor"""
self.sensorType = 0
""" the sensor type and shall be represented by a 16-bit enumeration. """
self.station = 0
""" the station to which the sensor is assigned. A zero value shall indi- cate that this Sensor record is not associated with any particular station and represents the total quan- tity of this sensor for this entity. If this field is non-zero, it shall either reference an attached part or an articulated part"""
self.quantity = 0
""" quantity of the sensor """
self.padding = 0
""" padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.sensorTypeSource = inputStream.read_unsigned_byte();
self.sensorOnOffStatus = inputStream.read_unsigned_byte();
self.sensorType = inputStream.read_unsigned_short();
self.station = inputStream.read_unsigned_int();
self.quantity = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.sensorTypeSource);
outputStream.write_unsigned_byte(self.sensorOnOffStatus);
outputStream.write_unsigned_short(self.sensorType);
outputStream.write_unsigned_int(self.station);
outputStream.write_unsigned_short(self.quantity);
outputStream.write_unsigned_short(self.padding);
Instance variables
var padding
padding
var quantity
quantity of the sensor
var sensorOnOffStatus
the on/off status of the sensor
var sensorType
the sensor type and shall be represented by a 16-bit enumeration.
var sensorTypeSource
the source of the Sensor Type field
var station
the station to which the sensor is assigned. A zero value shall indi- cate that this Sensor record is not associated with any particular station and represents the total quan- tity of this sensor for this entity. If this field is non-zero, it shall either reference an attached part or an articulated part
class SeparationVP
Physical separation of an entity from another entity. Section <IP_ADDRESS>
class SeparationVP( object ):
"""Physical separation of an entity from another entity. Section <IP_ADDRESS>"""
def __init__(self):
""" Initializer for SeparationVP"""
self.recordType = 2
""" the identification of the Variable Parameter record. Enumeration from EBV"""
self.reasonForSeparation = 0
""" Reason for separation. EBV"""
self.preEntityIndicator = 0
""" Whether the entity existed prior to separation EBV"""
self.padding1 = 0
""" padding"""
self.parentEntityID = EntityID();
""" ID of parent"""
self.padding2 = 0
""" padding"""
self.stationLocation = 0
""" Station separated from"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.recordType);
outputStream.write_unsigned_byte(self.reasonForSeparation);
outputStream.write_unsigned_byte(self.preEntityIndicator);
outputStream.write_unsigned_byte(self.padding1);
self.parentEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding2);
outputStream.write_unsigned_int(self.stationLocation);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_byte();
self.reasonForSeparation = inputStream.read_unsigned_byte();
self.preEntityIndicator = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_unsigned_byte();
self.parentEntityID.parse(inputStream)
self.padding2 = inputStream.read_unsigned_short();
self.stationLocation = inputStream.read_unsigned_int();
Ancestors (in MRO)
- SeparationVP
- builtins.object
Static methods
def __init__(
self)
Initializer for SeparationVP
def __init__(self):
""" Initializer for SeparationVP"""
self.recordType = 2
""" the identification of the Variable Parameter record. Enumeration from EBV"""
self.reasonForSeparation = 0
""" Reason for separation. EBV"""
self.preEntityIndicator = 0
""" Whether the entity existed prior to separation EBV"""
self.padding1 = 0
""" padding"""
self.parentEntityID = EntityID();
""" ID of parent"""
self.padding2 = 0
""" padding"""
self.stationLocation = 0
""" Station separated from"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.recordType = inputStream.read_unsigned_byte();
self.reasonForSeparation = inputStream.read_unsigned_byte();
self.preEntityIndicator = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_unsigned_byte();
self.parentEntityID.parse(inputStream)
self.padding2 = inputStream.read_unsigned_short();
self.stationLocation = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_byte(self.recordType);
outputStream.write_unsigned_byte(self.reasonForSeparation);
outputStream.write_unsigned_byte(self.preEntityIndicator);
outputStream.write_unsigned_byte(self.padding1);
self.parentEntityID.serialize(outputStream)
outputStream.write_unsigned_short(self.padding2);
outputStream.write_unsigned_int(self.stationLocation);
Instance variables
var padding1
padding
var padding2
padding
var parentEntityID
ID of parent
var preEntityIndicator
Whether the entity existed prior to separation EBV
var reasonForSeparation
Reason for separation. EBV
var recordType
the identification of the Variable Parameter record. Enumeration from EBV
var stationLocation
Station separated from
class ServiceRequestPdu
Service Request PDU shall be used to communicate information associated with one entity requesting a service from another). Section 7.4.2 COMPLETE
class ServiceRequestPdu( LogisticsFamilyPdu ):
"""Service Request PDU shall be used to communicate information associated with one entity requesting a service from another). Section 7.4.2 COMPLETE"""
def __init__(self):
""" Initializer for ServiceRequestPdu"""
super(ServiceRequestPdu, self).__init__()
self.requestingEntityID = EntityID();
""" Entity that is requesting service (see 6.2.28), Section 7.4.2"""
self.servicingEntityID = EntityID();
""" Entity that is providing the service (see 6.2.28), Section 7.4.2"""
self.serviceTypeRequested = 0
""" Type of service requested, Section 7.4.2"""
self.numberOfSupplyTypes = 0
""" How many requested, Section 7.4.2"""
self.serviceRequestPadding = 0
""" padding"""
self.supplies = []
self.pduType = 5
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( ServiceRequestPdu, self ).serialize(outputStream)
self.requestingEntityID.serialize(outputStream)
self.servicingEntityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.serviceTypeRequested);
outputStream.write_unsigned_byte( len(self.supplies));
outputStream.write_short(self.serviceRequestPadding);
for anObj in self.supplies:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ServiceRequestPdu, self).parse(inputStream)
self.requestingEntityID.parse(inputStream)
self.servicingEntityID.parse(inputStream)
self.serviceTypeRequested = inputStream.read_unsigned_byte();
self.numberOfSupplyTypes = inputStream.read_unsigned_byte();
self.serviceRequestPadding = inputStream.read_short();
for idx in range(0, self.numberOfSupplyTypes):
element = null()
element.parse(inputStream)
self.supplies.append(element)
Ancestors (in MRO)
- ServiceRequestPdu
- LogisticsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for ServiceRequestPdu
def __init__(self):
""" Initializer for ServiceRequestPdu"""
super(ServiceRequestPdu, self).__init__()
self.requestingEntityID = EntityID();
""" Entity that is requesting service (see 6.2.28), Section 7.4.2"""
self.servicingEntityID = EntityID();
""" Entity that is providing the service (see 6.2.28), Section 7.4.2"""
self.serviceTypeRequested = 0
""" Type of service requested, Section 7.4.2"""
self.numberOfSupplyTypes = 0
""" How many requested, Section 7.4.2"""
self.serviceRequestPadding = 0
""" padding"""
self.supplies = []
self.pduType = 5
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( ServiceRequestPdu, self).parse(inputStream)
self.requestingEntityID.parse(inputStream)
self.servicingEntityID.parse(inputStream)
self.serviceTypeRequested = inputStream.read_unsigned_byte();
self.numberOfSupplyTypes = inputStream.read_unsigned_byte();
self.serviceRequestPadding = inputStream.read_short();
for idx in range(0, self.numberOfSupplyTypes):
element = null()
element.parse(inputStream)
self.supplies.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( ServiceRequestPdu, self ).serialize(outputStream)
self.requestingEntityID.serialize(outputStream)
self.servicingEntityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.serviceTypeRequested);
outputStream.write_unsigned_byte( len(self.supplies));
outputStream.write_short(self.serviceRequestPadding);
for anObj in self.supplies:
anObj.serialize(outputStream)
Instance variables
var numberOfSupplyTypes
How many requested, Section 7.4.2
var pduType
initialize value
var requestingEntityID
Entity that is requesting service (see 6.2.28), Section 7.4.2
var serviceRequestPadding
padding
var serviceTypeRequested
Type of service requested, Section 7.4.2
var servicingEntityID
Entity that is providing the service (see 6.2.28), Section 7.4.2
var supplies
class SetDataPdu
Section 7.5.10. Change state information with the data contained in this. COMPLETE
class SetDataPdu( SimulationManagementFamilyPdu ):
"""Section 7.5.10. Change state information with the data contained in this. COMPLETE"""
def __init__(self):
""" Initializer for SetDataPdu"""
super(SetDataPdu, self).__init__()
self.requestID = 0
""" ID of request"""
self.padding1 = 0
""" padding"""
self.numberOfFixedDatumRecords = 0
""" Number of fixed datum records"""
self.numberOfVariableDatumRecords = 0
""" Number of variable datum records"""
self.fixedDatums = []
""" variable length list of fixed datums"""
self.variableDatums = []
""" variable length list of variable length datums"""
self.pduType = 19
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SetDataPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int(self.padding1);
outputStream.write_unsigned_int( len(self.fixedDatums));
outputStream.write_unsigned_int( len(self.variableDatums));
for anObj in self.fixedDatums:
anObj.serialize(outputStream)
for anObj in self.variableDatums:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SetDataPdu, self).parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
self.padding1 = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatums.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatums.append(element)
Ancestors (in MRO)
- SetDataPdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for SetDataPdu
def __init__(self):
""" Initializer for SetDataPdu"""
super(SetDataPdu, self).__init__()
self.requestID = 0
""" ID of request"""
self.padding1 = 0
""" padding"""
self.numberOfFixedDatumRecords = 0
""" Number of fixed datum records"""
self.numberOfVariableDatumRecords = 0
""" Number of variable datum records"""
self.fixedDatums = []
""" variable length list of fixed datums"""
self.variableDatums = []
""" variable length list of variable length datums"""
self.pduType = 19
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SetDataPdu, self).parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
self.padding1 = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatums.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatums.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SetDataPdu, self ).serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int(self.padding1);
outputStream.write_unsigned_int( len(self.fixedDatums));
outputStream.write_unsigned_int( len(self.variableDatums));
for anObj in self.fixedDatums:
anObj.serialize(outputStream)
for anObj in self.variableDatums:
anObj.serialize(outputStream)
Instance variables
var fixedDatums
variable length list of fixed datums
var numberOfFixedDatumRecords
Number of fixed datum records
var numberOfVariableDatumRecords
Number of variable datum records
var padding1
padding
var pduType
initialize value
var requestID
ID of request
var variableDatums
variable length list of variable length datums
class SetDataReliablePdu
Section <IP_ADDRESS>: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED
class SetDataReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: initializing or chaning internal state information, reliable. Needs manual intervention to fix padding on variable datums. UNFINISHED"""
def __init__(self):
""" Initializer for SetDataReliablePdu"""
super(SetDataReliablePdu, self).__init__()
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.numberOfFixedDatumRecords = 0
""" Fixed datum record count"""
self.numberOfVariableDatumRecords = 0
""" variable datum record count"""
self.fixedDatumRecords = []
""" Fixed datum records"""
self.variableDatumRecords = []
""" Variable datum records"""
self.pduType = 59
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SetDataReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int( len(self.fixedDatumRecords));
outputStream.write_unsigned_int( len(self.variableDatumRecords));
for anObj in self.fixedDatumRecords:
anObj.serialize(outputStream)
for anObj in self.variableDatumRecords:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SetDataReliablePdu, self).parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumRecords.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumRecords.append(element)
Ancestors (in MRO)
Static methods
def __init__(
self)
Initializer for SetDataReliablePdu
def __init__(self):
""" Initializer for SetDataReliablePdu"""
super(SetDataReliablePdu, self).__init__()
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.numberOfFixedDatumRecords = 0
""" Fixed datum record count"""
self.numberOfVariableDatumRecords = 0
""" variable datum record count"""
self.fixedDatumRecords = []
""" Fixed datum records"""
self.variableDatumRecords = []
""" Variable datum records"""
self.pduType = 59
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SetDataReliablePdu, self).parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
self.numberOfFixedDatumRecords = inputStream.read_unsigned_int();
self.numberOfVariableDatumRecords = inputStream.read_unsigned_int();
for idx in range(0, self.numberOfFixedDatumRecords):
element = FixedDatum()
element.parse(inputStream)
self.fixedDatumRecords.append(element)
for idx in range(0, self.numberOfVariableDatumRecords):
element = VariableDatum()
element.parse(inputStream)
self.variableDatumRecords.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SetDataReliablePdu, self ).serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
outputStream.write_unsigned_int( len(self.fixedDatumRecords));
outputStream.write_unsigned_int( len(self.variableDatumRecords));
for anObj in self.fixedDatumRecords:
anObj.serialize(outputStream)
for anObj in self.variableDatumRecords:
anObj.serialize(outputStream)
Instance variables
var fixedDatumRecords
Fixed datum records
var numberOfFixedDatumRecords
Fixed datum record count
var numberOfVariableDatumRecords
variable datum record count
var pad1
padding
var pad2
padding
var pduType
initialize value
var requestID
Request ID
var requiredReliabilityService
level of reliability service used for this transaction
var variableDatumRecords
Variable datum records
class SignalPdu
Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple ways, which requires hand-written code to finish. Section 7.7.3. UNFINISHED
class SignalPdu( RadioCommunicationsFamilyPdu ):
""" Detailed information about a radio transmitter. This PDU requires manually written code to complete. The encodingScheme field can be used in multiple ways, which requires hand-written code to finish. Section 7.7.3. UNFINISHED"""
def __init__(self):
""" Initializer for SignalPdu"""
super(SignalPdu, self).__init__()
self.encodingScheme = 0
""" encoding scheme used, and enumeration"""
self.tdlType = 0
""" tdl type"""
self.sampleRate = 0
""" sample rate"""
self.dataLength = 0
""" length od data"""
self.samples = 0
""" number of samples"""
self.data = []
""" list of eight bit values"""
self.pduType = 26
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SignalPdu, self ).serialize(outputStream)
outputStream.write_unsigned_short(self.encodingScheme);
outputStream.write_unsigned_short(self.tdlType);
outputStream.write_unsigned_int(self.sampleRate);
outputStream.write_short( len(self.data));
outputStream.write_short(self.samples);
for anObj in self.data:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SignalPdu, self).parse(inputStream)
self.encodingScheme = inputStream.read_unsigned_short();
self.tdlType = inputStream.read_unsigned_short();
self.sampleRate = inputStream.read_unsigned_int();
self.dataLength = inputStream.read_short();
self.samples = inputStream.read_short();
for idx in range(0, self.dataLength):
element = null()
element.parse(inputStream)
self.data.append(element)
Ancestors (in MRO)
- SignalPdu
- RadioCommunicationsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for SignalPdu
def __init__(self):
""" Initializer for SignalPdu"""
super(SignalPdu, self).__init__()
self.encodingScheme = 0
""" encoding scheme used, and enumeration"""
self.tdlType = 0
""" tdl type"""
self.sampleRate = 0
""" sample rate"""
self.dataLength = 0
""" length od data"""
self.samples = 0
""" number of samples"""
self.data = []
""" list of eight bit values"""
self.pduType = 26
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SignalPdu, self).parse(inputStream)
self.encodingScheme = inputStream.read_unsigned_short();
self.tdlType = inputStream.read_unsigned_short();
self.sampleRate = inputStream.read_unsigned_int();
self.dataLength = inputStream.read_short();
self.samples = inputStream.read_short();
for idx in range(0, self.dataLength):
element = null()
element.parse(inputStream)
self.data.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SignalPdu, self ).serialize(outputStream)
outputStream.write_unsigned_short(self.encodingScheme);
outputStream.write_unsigned_short(self.tdlType);
outputStream.write_unsigned_int(self.sampleRate);
outputStream.write_short( len(self.data));
outputStream.write_short(self.samples);
for anObj in self.data:
anObj.serialize(outputStream)
Instance variables
var data
list of eight bit values
var dataLength
length od data
var encodingScheme
encoding scheme used, and enumeration
var pduType
initialize value
var sampleRate
sample rate
var samples
number of samples
var tdlType
tdl type
class SilentEntitySystem
information abou an enitity not producing espdus. Section 6.2.79
class SilentEntitySystem( object ):
"""information abou an enitity not producing espdus. Section 6.2.79"""
def __init__(self):
""" Initializer for SilentEntitySystem"""
self.numberOfEntities = 0
""" number of the type specified by the entity type field"""
self.numberOfAppearanceRecords = 0
""" number of entity appearance records that follow"""
self.entityType = EntityType();
""" Entity type"""
self.appearanceRecordList = []
""" Variable length list of appearance records"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.numberOfEntities);
outputStream.write_unsigned_short( len(self.appearanceRecordList));
self.entityType.serialize(outputStream)
for anObj in self.appearanceRecordList:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfEntities = inputStream.read_unsigned_short();
self.numberOfAppearanceRecords = inputStream.read_unsigned_short();
self.entityType.parse(inputStream)
for idx in range(0, self.numberOfAppearanceRecords):
element = null()
element.parse(inputStream)
self.appearanceRecordList.append(element)
Ancestors (in MRO)
- SilentEntitySystem
- builtins.object
Static methods
def __init__(
self)
Initializer for SilentEntitySystem
def __init__(self):
""" Initializer for SilentEntitySystem"""
self.numberOfEntities = 0
""" number of the type specified by the entity type field"""
self.numberOfAppearanceRecords = 0
""" number of entity appearance records that follow"""
self.entityType = EntityType();
""" Entity type"""
self.appearanceRecordList = []
""" Variable length list of appearance records"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfEntities = inputStream.read_unsigned_short();
self.numberOfAppearanceRecords = inputStream.read_unsigned_short();
self.entityType.parse(inputStream)
for idx in range(0, self.numberOfAppearanceRecords):
element = null()
element.parse(inputStream)
self.appearanceRecordList.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.numberOfEntities);
outputStream.write_unsigned_short( len(self.appearanceRecordList));
self.entityType.serialize(outputStream)
for anObj in self.appearanceRecordList:
anObj.serialize(outputStream)
Instance variables
var appearanceRecordList
Variable length list of appearance records
var entityType
Entity type
var numberOfAppearanceRecords
number of entity appearance records that follow
var numberOfEntities
number of the type specified by the entity type field
class SimulationAddress
A Simulation Address record shall consist of the Site Identification number and the Application Identification number. Section 6.2.79
class SimulationAddress( object ):
"""A Simulation Address record shall consist of the Site Identification number and the Application Identification number. Section 6.2.79 """
def __init__(self):
""" Initializer for SimulationAddress"""
self.site = 0
""" A site is defined as a facility, installation, organizational unit or a geographic location that has one or more simulation applications capable of participating in a distributed event. """
self.application = 0
""" An application is defined as a software program that is used to generate and process distributed simulation data including live, virtual and constructive data."""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.site);
outputStream.write_unsigned_short(self.application);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.site = inputStream.read_unsigned_short();
self.application = inputStream.read_unsigned_short();
Ancestors (in MRO)
- SimulationAddress
- builtins.object
Static methods
def __init__(
self)
Initializer for SimulationAddress
def __init__(self):
""" Initializer for SimulationAddress"""
self.site = 0
""" A site is defined as a facility, installation, organizational unit or a geographic location that has one or more simulation applications capable of participating in a distributed event. """
self.application = 0
""" An application is defined as a software program that is used to generate and process distributed simulation data including live, virtual and constructive data."""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.site = inputStream.read_unsigned_short();
self.application = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.site);
outputStream.write_unsigned_short(self.application);
Instance variables
var application
An application is defined as a software program that is used to generate and process distributed simulation data including live, virtual and constructive data.
var site
A site is defined as a facility, installation, organizational unit or a geographic location that has one or more simulation applications capable of participating in a distributed event.
class SimulationIdentifier
The unique designation of a simulation when using the 48-bit identifier format shall be specified by the Sim- ulation Identifier record. The reason that the 48-bit format is required in addition to the 32-bit simulation address format that actually identifies a specific simulation is because some 48-bit identifier fields in PDUs may contain either an Object Identifier, such as an Entity ID, or a Simulation Identifier. Section 6.2.80
class SimulationIdentifier( object ):
"""The unique designation of a simulation when using the 48-bit identifier format shall be specified by the Sim- ulation Identifier record. The reason that the 48-bit format is required in addition to the 32-bit simulation address format that actually identifies a specific simulation is because some 48-bit identifier fields in PDUs may contain either an Object Identifier, such as an Entity ID, or a Simulation Identifier. Section 6.2.80"""
def __init__(self):
""" Initializer for SimulationIdentifier"""
self.simulationAddress = SimulationAddress();
""" Simulation address """
self.referenceNumber = 0
""" This field shall be set to zero as there is no reference number associated with a Simulation Identifier."""
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.referenceNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.referenceNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- SimulationIdentifier
- builtins.object
Static methods
def __init__(
self)
Initializer for SimulationIdentifier
def __init__(self):
""" Initializer for SimulationIdentifier"""
self.simulationAddress = SimulationAddress();
""" Simulation address """
self.referenceNumber = 0
""" This field shall be set to zero as there is no reference number associated with a Simulation Identifier."""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.referenceNumber = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.referenceNumber);
Instance variables
var referenceNumber
This field shall be set to zero as there is no reference number associated with a Simulation Identifier.
var simulationAddress
Simulation address
class SimulationManagementFamilyPdu
Section 7.5 Abstract superclass for PDUs relating to the simulation itself. COMPLETE
class SimulationManagementFamilyPdu( Pdu ):
"""Section 7.5 Abstract superclass for PDUs relating to the simulation itself. COMPLETE"""
def __init__(self):
""" Initializer for SimulationManagementFamilyPdu"""
super(SimulationManagementFamilyPdu, self).__init__()
self.originatingEntityID = EntityID();
""" Entity that is sending message"""
self.receivingEntityID = EntityID();
""" Entity that is intended to receive message"""
self.protocolFamily = 5
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SimulationManagementFamilyPdu, self ).serialize(outputStream)
self.originatingEntityID.serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SimulationManagementFamilyPdu, self).parse(inputStream)
self.originatingEntityID.parse(inputStream)
self.receivingEntityID.parse(inputStream)
Ancestors (in MRO)
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for SimulationManagementFamilyPdu
def __init__(self):
""" Initializer for SimulationManagementFamilyPdu"""
super(SimulationManagementFamilyPdu, self).__init__()
self.originatingEntityID = EntityID();
""" Entity that is sending message"""
self.receivingEntityID = EntityID();
""" Entity that is intended to receive message"""
self.protocolFamily = 5
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SimulationManagementFamilyPdu, self).parse(inputStream)
self.originatingEntityID.parse(inputStream)
self.receivingEntityID.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SimulationManagementFamilyPdu, self ).serialize(outputStream)
self.originatingEntityID.serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
Instance variables
var originatingEntityID
Entity that is sending message
var protocolFamily
initialize value
var receivingEntityID
Entity that is intended to receive message
class SimulationManagementPduHeader
First part of a simulation management (SIMAN) PDU and SIMAN-Reliability (SIMAN-R) PDU. Sectionn 6.2.81
class SimulationManagementPduHeader( object ):
"""First part of a simulation management (SIMAN) PDU and SIMAN-Reliability (SIMAN-R) PDU. Sectionn 6.2.81"""
def __init__(self):
""" Initializer for SimulationManagementPduHeader"""
self.pduHeader = PduHeader();
""" Conventional PDU header"""
self.originatingID = SimulationIdentifier();
""" IDs the simulation or entity, etiehr a simulation or an entity. Either 6.2.80 or 6.2.28"""
self.receivingID = SimulationIdentifier();
""" simulation, all simulations, a special ID, or an entity. See 5.6.5 and 5.12.4"""
def serialize(self, outputStream):
"""serialize the class """
self.pduHeader.serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.pduHeader.parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
Ancestors (in MRO)
- SimulationManagementPduHeader
- builtins.object
Static methods
def __init__(
self)
Initializer for SimulationManagementPduHeader
def __init__(self):
""" Initializer for SimulationManagementPduHeader"""
self.pduHeader = PduHeader();
""" Conventional PDU header"""
self.originatingID = SimulationIdentifier();
""" IDs the simulation or entity, etiehr a simulation or an entity. Either 6.2.80 or 6.2.28"""
self.receivingID = SimulationIdentifier();
""" simulation, all simulations, a special ID, or an entity. See 5.6.5 and 5.12.4"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.pduHeader.parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.pduHeader.serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
Instance variables
var originatingID
IDs the simulation or entity, etiehr a simulation or an entity. Either 6.2.80 or 6.2.28
var pduHeader
Conventional PDU header
var receivingID
simulation, all simulations, a special ID, or an entity. See 5.6.5 and 5.12.4
class SimulationManagementWithReliabilityFamilyPdu
Section 5.3.12: Abstract superclass for reliable simulation management PDUs
class SimulationManagementWithReliabilityFamilyPdu( Pdu ):
"""Section 5.3.12: Abstract superclass for reliable simulation management PDUs"""
def __init__(self):
""" Initializer for SimulationManagementWithReliabilityFamilyPdu"""
super(SimulationManagementWithReliabilityFamilyPdu, self).__init__()
self.originatingEntityID = EntityID();
""" Object originatig the request"""
self.receivingEntityID = EntityID();
""" Object with which this point object is associated"""
self.protocolFamily = 10
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SimulationManagementWithReliabilityFamilyPdu, self ).serialize(outputStream)
self.originatingEntityID.serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SimulationManagementWithReliabilityFamilyPdu, self).parse(inputStream)
self.originatingEntityID.parse(inputStream)
self.receivingEntityID.parse(inputStream)
Ancestors (in MRO)
- SimulationManagementWithReliabilityFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for SimulationManagementWithReliabilityFamilyPdu
def __init__(self):
""" Initializer for SimulationManagementWithReliabilityFamilyPdu"""
super(SimulationManagementWithReliabilityFamilyPdu, self).__init__()
self.originatingEntityID = EntityID();
""" Object originatig the request"""
self.receivingEntityID = EntityID();
""" Object with which this point object is associated"""
self.protocolFamily = 10
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SimulationManagementWithReliabilityFamilyPdu, self).parse(inputStream)
self.originatingEntityID.parse(inputStream)
self.receivingEntityID.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SimulationManagementWithReliabilityFamilyPdu, self ).serialize(outputStream)
self.originatingEntityID.serialize(outputStream)
self.receivingEntityID.serialize(outputStream)
Instance variables
var originatingEntityID
Object originatig the request
var protocolFamily
initialize value
var receivingEntityID
Object with which this point object is associated
class StandardVariableSpecification
Does not work, and causes failure in anything it is embedded in. Section 6.2.83
class StandardVariableSpecification( object ):
"""Does not work, and causes failure in anything it is embedded in. Section 6.2.83"""
def __init__(self):
""" Initializer for StandardVariableSpecification"""
self.numberOfStandardVariableRecords = 0
""" Number of static variable records"""
self.standardVariables = []
""" variable length list of standard variables, The class type and length here are WRONG and will cause the incorrect serialization of any class in whihc it is embedded."""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short( len(self.standardVariables));
for anObj in self.standardVariables:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfStandardVariableRecords = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfStandardVariableRecords):
element = null()
element.parse(inputStream)
self.standardVariables.append(element)
Ancestors (in MRO)
- StandardVariableSpecification
- builtins.object
Static methods
def __init__(
self)
Initializer for StandardVariableSpecification
def __init__(self):
""" Initializer for StandardVariableSpecification"""
self.numberOfStandardVariableRecords = 0
""" Number of static variable records"""
self.standardVariables = []
""" variable length list of standard variables, The class type and length here are WRONG and will cause the incorrect serialization of any class in whihc it is embedded."""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.numberOfStandardVariableRecords = inputStream.read_unsigned_short();
for idx in range(0, self.numberOfStandardVariableRecords):
element = null()
element.parse(inputStream)
self.standardVariables.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short( len(self.standardVariables));
for anObj in self.standardVariables:
anObj.serialize(outputStream)
Instance variables
var numberOfStandardVariableRecords
Number of static variable records
var standardVariables
variable length list of standard variables, The class type and length here are WRONG and will cause the incorrect serialization of any class in whihc it is embedded.
class StartResumePdu
Section 7.5.4. Start or resume an exercise. COMPLETE
class StartResumePdu( SimulationManagementFamilyPdu ):
"""Section 7.5.4. Start or resume an exercise. COMPLETE"""
def __init__(self):
""" Initializer for StartResumePdu"""
super(StartResumePdu, self).__init__()
self.originatingID = EntityID();
""" Identifier for originating entity(or simulation)"""
self.receivingID = EntityID();
""" Identifier for the receiving entity(or simulation)"""
self.realWorldTime = ClockTime();
""" This field shall specify the real-world time (UTC) at which the entity is to start/resume in the exercise. This information shall be used by the participating simulation applications to start/resume an exercise synchronously. This field shall be represented by a Clock Time record (see 6.2.16)."""
self.simulationTime = ClockTime();
""" The reference time within a simulation exercise. This time is established ahead of time by simulation management and is common to all participants in a particular exercise. Simulation time may be either Absolute Time or Relative Time. This field shall be represented by a Clock Time record (see 6.2.16)"""
self.requestID = 0
""" Identifier for the specific and unique start/resume request"""
self.pduType = 13
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( StartResumePdu, self ).serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
self.realWorldTime.serialize(outputStream)
self.simulationTime.serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StartResumePdu, self).parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
self.realWorldTime.parse(inputStream)
self.simulationTime.parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
Ancestors (in MRO)
- StartResumePdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for StartResumePdu
def __init__(self):
""" Initializer for StartResumePdu"""
super(StartResumePdu, self).__init__()
self.originatingID = EntityID();
""" Identifier for originating entity(or simulation)"""
self.receivingID = EntityID();
""" Identifier for the receiving entity(or simulation)"""
self.realWorldTime = ClockTime();
""" This field shall specify the real-world time (UTC) at which the entity is to start/resume in the exercise. This information shall be used by the participating simulation applications to start/resume an exercise synchronously. This field shall be represented by a Clock Time record (see 6.2.16)."""
self.simulationTime = ClockTime();
""" The reference time within a simulation exercise. This time is established ahead of time by simulation management and is common to all participants in a particular exercise. Simulation time may be either Absolute Time or Relative Time. This field shall be represented by a Clock Time record (see 6.2.16)"""
self.requestID = 0
""" Identifier for the specific and unique start/resume request"""
self.pduType = 13
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StartResumePdu, self).parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
self.realWorldTime.parse(inputStream)
self.simulationTime.parse(inputStream)
self.requestID = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( StartResumePdu, self ).serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
self.realWorldTime.serialize(outputStream)
self.simulationTime.serialize(outputStream)
outputStream.write_unsigned_int(self.requestID);
Instance variables
var originatingID
Identifier for originating entity(or simulation)
var pduType
initialize value
var realWorldTime
This field shall specify the real-world time (UTC) at which the entity is to start/resume in the exercise. This information shall be used by the participating simulation applications to start/resume an exercise synchronously. This field shall be represented by a Clock Time record (see 6.2.16).
var receivingID
Identifier for the receiving entity(or simulation)
var requestID
Identifier for the specific and unique start/resume request
var simulationTime
The reference time within a simulation exercise. This time is established ahead of time by simulation management and is common to all participants in a particular exercise. Simulation time may be either Absolute Time or Relative Time. This field shall be represented by a Clock Time record (see 6.2.16)
class StartResumeReliablePdu
Section <IP_ADDRESS>: Start resume simulation, relaible. COMPLETE
class StartResumeReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: Start resume simulation, relaible. COMPLETE"""
def __init__(self):
""" Initializer for StartResumeReliablePdu"""
super(StartResumeReliablePdu, self).__init__()
self.realWorldTime = ClockTime();
""" time in real world for this operation to happen"""
self.simulationTime = ClockTime();
""" time in simulation for the simulation to resume"""
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.pduType = 53
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( StartResumeReliablePdu, self ).serialize(outputStream)
self.realWorldTime.serialize(outputStream)
self.simulationTime.serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StartResumeReliablePdu, self).parse(inputStream)
self.realWorldTime.parse(inputStream)
self.simulationTime.parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
Ancestors (in MRO)
- StartResumeReliablePdu
- SimulationManagementWithReliabilityFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for StartResumeReliablePdu
def __init__(self):
""" Initializer for StartResumeReliablePdu"""
super(StartResumeReliablePdu, self).__init__()
self.realWorldTime = ClockTime();
""" time in real world for this operation to happen"""
self.simulationTime = ClockTime();
""" time in simulation for the simulation to resume"""
self.requiredReliabilityService = 0
""" level of reliability service used for this transaction"""
self.pad1 = 0
""" padding"""
self.pad2 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.pduType = 53
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StartResumeReliablePdu, self).parse(inputStream)
self.realWorldTime.parse(inputStream)
self.simulationTime.parse(inputStream)
self.requiredReliabilityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_short();
self.pad2 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( StartResumeReliablePdu, self ).serialize(outputStream)
self.realWorldTime.serialize(outputStream)
self.simulationTime.serialize(outputStream)
outputStream.write_unsigned_byte(self.requiredReliabilityService);
outputStream.write_unsigned_short(self.pad1);
outputStream.write_unsigned_byte(self.pad2);
outputStream.write_unsigned_int(self.requestID);
Instance variables
var pad1
padding
var pad2
padding
var pduType
initialize value
var realWorldTime
time in real world for this operation to happen
var requestID
Request ID
var requiredReliabilityService
level of reliability service used for this transaction
var simulationTime
time in simulation for the simulation to resume
class StopFreezePdu
Section 7.5.5. Stop or freeze an enity (or exercise). COMPLETE
class StopFreezePdu( SimulationManagementFamilyPdu ):
"""Section 7.5.5. Stop or freeze an enity (or exercise). COMPLETE"""
def __init__(self):
""" Initializer for StopFreezePdu"""
super(StopFreezePdu, self).__init__()
self.originatingID = EntityID();
""" Identifier for originating entity(or simulation)"""
self.receivingID = EntityID();
""" Identifier for the receiving entity(or simulation)"""
self.realWorldTime = ClockTime();
""" real-world(UTC) time at which the entity shall stop or freeze in the exercise"""
self.reason = 0
""" Reason the simulation was stopped or frozen (see section 7 of SISO-REF-010) represented by an 8-bit enumeration"""
self.frozenBehavior = 0
""" Internal behavior of the entity(or simulation) and its appearance while frozen to the other participants"""
self.padding1 = 0
""" padding"""
self.requestID = 0
""" Request ID that is unique"""
self.pduType = 14
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( StopFreezePdu, self ).serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
self.realWorldTime.serialize(outputStream)
outputStream.write_unsigned_byte(self.reason);
outputStream.write_unsigned_byte(self.frozenBehavior);
outputStream.write_short(self.padding1);
outputStream.write_unsigned_int(self.requestID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StopFreezePdu, self).parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
self.realWorldTime.parse(inputStream)
self.reason = inputStream.read_unsigned_byte();
self.frozenBehavior = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_short();
self.requestID = inputStream.read_unsigned_int();
Ancestors (in MRO)
- StopFreezePdu
- SimulationManagementFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for StopFreezePdu
def __init__(self):
""" Initializer for StopFreezePdu"""
super(StopFreezePdu, self).__init__()
self.originatingID = EntityID();
""" Identifier for originating entity(or simulation)"""
self.receivingID = EntityID();
""" Identifier for the receiving entity(or simulation)"""
self.realWorldTime = ClockTime();
""" real-world(UTC) time at which the entity shall stop or freeze in the exercise"""
self.reason = 0
""" Reason the simulation was stopped or frozen (see section 7 of SISO-REF-010) represented by an 8-bit enumeration"""
self.frozenBehavior = 0
""" Internal behavior of the entity(or simulation) and its appearance while frozen to the other participants"""
self.padding1 = 0
""" padding"""
self.requestID = 0
""" Request ID that is unique"""
self.pduType = 14
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StopFreezePdu, self).parse(inputStream)
self.originatingID.parse(inputStream)
self.receivingID.parse(inputStream)
self.realWorldTime.parse(inputStream)
self.reason = inputStream.read_unsigned_byte();
self.frozenBehavior = inputStream.read_unsigned_byte();
self.padding1 = inputStream.read_short();
self.requestID = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( StopFreezePdu, self ).serialize(outputStream)
self.originatingID.serialize(outputStream)
self.receivingID.serialize(outputStream)
self.realWorldTime.serialize(outputStream)
outputStream.write_unsigned_byte(self.reason);
outputStream.write_unsigned_byte(self.frozenBehavior);
outputStream.write_short(self.padding1);
outputStream.write_unsigned_int(self.requestID);
Instance variables
var frozenBehavior
Internal behavior of the entity(or simulation) and its appearance while frozen to the other participants
var originatingID
Identifier for originating entity(or simulation)
var padding1
padding
var pduType
initialize value
var realWorldTime
real-world(UTC) time at which the entity shall stop or freeze in the exercise
var reason
Reason the simulation was stopped or frozen (see section 7 of SISO-REF-010) represented by an 8-bit enumeration
var receivingID
Identifier for the receiving entity(or simulation)
var requestID
Request ID that is unique
class StopFreezeReliablePdu
Section <IP_ADDRESS>: Stop freeze simulation, relaible. COMPLETE
class StopFreezeReliablePdu( SimulationManagementWithReliabilityFamilyPdu ):
"""Section <IP_ADDRESS>: Stop freeze simulation, relaible. COMPLETE"""
def __init__(self):
""" Initializer for StopFreezeReliablePdu"""
super(StopFreezeReliablePdu, self).__init__()
self.realWorldTime = ClockTime();
""" time in real world for this operation to happen"""
self.reason = 0
""" Reason for stopping/freezing simulation"""
self.frozenBehavior = 0
""" internal behvior of the simulation while frozen"""
self.requiredReliablityService = 0
""" reliablity level"""
self.pad1 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.pduType = 54
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( StopFreezeReliablePdu, self ).serialize(outputStream)
self.realWorldTime.serialize(outputStream)
outputStream.write_unsigned_byte(self.reason);
outputStream.write_unsigned_byte(self.frozenBehavior);
outputStream.write_unsigned_byte(self.requiredReliablityService);
outputStream.write_unsigned_byte(self.pad1);
outputStream.write_unsigned_int(self.requestID);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StopFreezeReliablePdu, self).parse(inputStream)
self.realWorldTime.parse(inputStream)
self.reason = inputStream.read_unsigned_byte();
self.frozenBehavior = inputStream.read_unsigned_byte();
self.requiredReliablityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
Ancestors (in MRO)
- StopFreezeReliablePdu
- SimulationManagementWithReliabilityFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for StopFreezeReliablePdu
def __init__(self):
""" Initializer for StopFreezeReliablePdu"""
super(StopFreezeReliablePdu, self).__init__()
self.realWorldTime = ClockTime();
""" time in real world for this operation to happen"""
self.reason = 0
""" Reason for stopping/freezing simulation"""
self.frozenBehavior = 0
""" internal behvior of the simulation while frozen"""
self.requiredReliablityService = 0
""" reliablity level"""
self.pad1 = 0
""" padding"""
self.requestID = 0
""" Request ID"""
self.pduType = 54
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( StopFreezeReliablePdu, self).parse(inputStream)
self.realWorldTime.parse(inputStream)
self.reason = inputStream.read_unsigned_byte();
self.frozenBehavior = inputStream.read_unsigned_byte();
self.requiredReliablityService = inputStream.read_unsigned_byte();
self.pad1 = inputStream.read_unsigned_byte();
self.requestID = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( StopFreezeReliablePdu, self ).serialize(outputStream)
self.realWorldTime.serialize(outputStream)
outputStream.write_unsigned_byte(self.reason);
outputStream.write_unsigned_byte(self.frozenBehavior);
outputStream.write_unsigned_byte(self.requiredReliablityService);
outputStream.write_unsigned_byte(self.pad1);
outputStream.write_unsigned_int(self.requestID);
Instance variables
var frozenBehavior
internal behvior of the simulation while frozen
var pad1
padding
var pduType
initialize value
var realWorldTime
time in real world for this operation to happen
var reason
Reason for stopping/freezing simulation
var requestID
Request ID
var requiredReliablityService
reliablity level
class StorageFuel
Information about an entity's engine fuel. Section 6.2.84.
class StorageFuel( object ):
"""Information about an entity's engine fuel. Section 6.2.84."""
def __init__(self):
""" Initializer for StorageFuel"""
self.fuelQuantity = 0
""" Fuel quantity, units specified by next field"""
self.fuelMeasurementUnits = 0
""" Units in which the fuel is measured"""
self.fuelType = 0
""" Type of fuel"""
self.fuelLocation = 0
""" Location of fuel as related to entity. See section 14 of EBV document"""
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.fuelQuantity);
outputStream.write_unsigned_byte(self.fuelMeasurementUnits);
outputStream.write_unsigned_byte(self.fuelType);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.fuelQuantity = inputStream.read_unsigned_int();
self.fuelMeasurementUnits = inputStream.read_unsigned_byte();
self.fuelType = inputStream.read_unsigned_byte();
self.fuelLocation = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- StorageFuel
- builtins.object
Static methods
def __init__(
self)
Initializer for StorageFuel
def __init__(self):
""" Initializer for StorageFuel"""
self.fuelQuantity = 0
""" Fuel quantity, units specified by next field"""
self.fuelMeasurementUnits = 0
""" Units in which the fuel is measured"""
self.fuelType = 0
""" Type of fuel"""
self.fuelLocation = 0
""" Location of fuel as related to entity. See section 14 of EBV document"""
self.padding = 0
""" padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.fuelQuantity = inputStream.read_unsigned_int();
self.fuelMeasurementUnits = inputStream.read_unsigned_byte();
self.fuelType = inputStream.read_unsigned_byte();
self.fuelLocation = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.fuelQuantity);
outputStream.write_unsigned_byte(self.fuelMeasurementUnits);
outputStream.write_unsigned_byte(self.fuelType);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
Instance variables
var fuelLocation
Location of fuel as related to entity. See section 14 of EBV document
var fuelMeasurementUnits
Units in which the fuel is measured
var fuelQuantity
Fuel quantity, units specified by next field
var fuelType
Type of fuel
var padding
padding
class StorageFuelReload
For each type or location of Storage Fuel, this record shall specify the type, location, fuel measure- ment units, reload quantity and maximum quantity for storage fuel either for the whole entity or a specific storage fuel location (tank). Section 6.2.85.
class StorageFuelReload( object ):
"""For each type or location of Storage Fuel, this record shall specify the type, location, fuel measure- ment units, reload quantity and maximum quantity for storage fuel either for the whole entity or a specific storage fuel location (tank). Section 6.2.85."""
def __init__(self):
""" Initializer for StorageFuelReload"""
self.standardQuantity = 0
""" the standard quantity of this fuel type normally loaded at this station/launcher if a station/launcher is specified. If the Station/Launcher field is set to zero, then this is the total quantity of this fuel type that would be present in a standard reload of all appli- cable stations/launchers associated with this entity."""
self.maximumQuantity = 0
""" the maximum quantity of this fuel type that this sta- tion/launcher is capable of holding when a station/launcher is specified. This would be the value used when a maximum reload was desired to be set for this station/launcher. If the Station/launcher field is set to zero, then this is the maximum quantity of this fuel type that would be present on this entity at all stations/launchers that can accept this fuel type."""
self.standardQuantityReloadTime = 0
""" the seconds normally required to reload the standard quantity of this fuel type at this specific station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a standard quantity reload of this fuel type at all applicable stations/launchers for this entity."""
self.maximumQuantityReloadTime = 0
""" the seconds normally required to reload the maximum possible quantity of this fuel type at this station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a maximum quantity load/reload of this fuel type at all applicable stations/launchers for this entity."""
self.fuelMeasurementUnits = 0
""" the fuel measurement units. Enumeration"""
self.fuelType = 0
""" Fuel type. Enumeration"""
self.fuelLocation = 0
""" Location of fuel as related to entity. See section 14 of EBV document"""
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.standardQuantity);
outputStream.write_unsigned_int(self.maximumQuantity);
outputStream.write_unsigned_byte(self.standardQuantityReloadTime);
outputStream.write_unsigned_byte(self.maximumQuantityReloadTime);
outputStream.write_unsigned_byte(self.fuelMeasurementUnits);
outputStream.write_unsigned_byte(self.fuelType);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.standardQuantity = inputStream.read_unsigned_int();
self.maximumQuantity = inputStream.read_unsigned_int();
self.standardQuantityReloadTime = inputStream.read_unsigned_byte();
self.maximumQuantityReloadTime = inputStream.read_unsigned_byte();
self.fuelMeasurementUnits = inputStream.read_unsigned_byte();
self.fuelType = inputStream.read_unsigned_byte();
self.fuelLocation = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- StorageFuelReload
- builtins.object
Static methods
def __init__(
self)
Initializer for StorageFuelReload
def __init__(self):
""" Initializer for StorageFuelReload"""
self.standardQuantity = 0
""" the standard quantity of this fuel type normally loaded at this station/launcher if a station/launcher is specified. If the Station/Launcher field is set to zero, then this is the total quantity of this fuel type that would be present in a standard reload of all appli- cable stations/launchers associated with this entity."""
self.maximumQuantity = 0
""" the maximum quantity of this fuel type that this sta- tion/launcher is capable of holding when a station/launcher is specified. This would be the value used when a maximum reload was desired to be set for this station/launcher. If the Station/launcher field is set to zero, then this is the maximum quantity of this fuel type that would be present on this entity at all stations/launchers that can accept this fuel type."""
self.standardQuantityReloadTime = 0
""" the seconds normally required to reload the standard quantity of this fuel type at this specific station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a standard quantity reload of this fuel type at all applicable stations/launchers for this entity."""
self.maximumQuantityReloadTime = 0
""" the seconds normally required to reload the maximum possible quantity of this fuel type at this station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a maximum quantity load/reload of this fuel type at all applicable stations/launchers for this entity."""
self.fuelMeasurementUnits = 0
""" the fuel measurement units. Enumeration"""
self.fuelType = 0
""" Fuel type. Enumeration"""
self.fuelLocation = 0
""" Location of fuel as related to entity. See section 14 of EBV document"""
self.padding = 0
""" padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.standardQuantity = inputStream.read_unsigned_int();
self.maximumQuantity = inputStream.read_unsigned_int();
self.standardQuantityReloadTime = inputStream.read_unsigned_byte();
self.maximumQuantityReloadTime = inputStream.read_unsigned_byte();
self.fuelMeasurementUnits = inputStream.read_unsigned_byte();
self.fuelType = inputStream.read_unsigned_byte();
self.fuelLocation = inputStream.read_unsigned_byte();
self.padding = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.standardQuantity);
outputStream.write_unsigned_int(self.maximumQuantity);
outputStream.write_unsigned_byte(self.standardQuantityReloadTime);
outputStream.write_unsigned_byte(self.maximumQuantityReloadTime);
outputStream.write_unsigned_byte(self.fuelMeasurementUnits);
outputStream.write_unsigned_byte(self.fuelType);
outputStream.write_unsigned_byte(self.fuelLocation);
outputStream.write_unsigned_byte(self.padding);
Instance variables
var fuelLocation
Location of fuel as related to entity. See section 14 of EBV document
var fuelMeasurementUnits
the fuel measurement units. Enumeration
var fuelType
Fuel type. Enumeration
var maximumQuantity
the maximum quantity of this fuel type that this sta- tion/launcher is capable of holding when a station/launcher is specified. This would be the value used when a maximum reload was desired to be set for this station/launcher. If the Station/launcher field is set to zero, then this is the maximum quantity of this fuel type that would be present on this entity at all stations/launchers that can accept this fuel type.
var maximumQuantityReloadTime
the seconds normally required to reload the maximum possible quantity of this fuel type at this station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a maximum quantity load/reload of this fuel type at all applicable stations/launchers for this entity.
var padding
padding
var standardQuantity
the standard quantity of this fuel type normally loaded at this station/launcher if a station/launcher is specified. If the Station/Launcher field is set to zero, then this is the total quantity of this fuel type that would be present in a standard reload of all appli- cable stations/launchers associated with this entity.
var standardQuantityReloadTime
the seconds normally required to reload the standard quantity of this fuel type at this specific station/launcher. When the Station/Launcher field is set to zero, this shall be the time it takes to perform a standard quantity reload of this fuel type at all applicable stations/launchers for this entity.
class SupplyQuantity
A supply, and the amount of that supply. Section 6.2.86
class SupplyQuantity( object ):
""" A supply, and the amount of that supply. Section 6.2.86"""
def __init__(self):
""" Initializer for SupplyQuantity"""
self.supplyType = EntityType();
""" Type of supply"""
self.quantity = 0
""" the number of units of a supply type. """
def serialize(self, outputStream):
"""serialize the class """
self.supplyType.serialize(outputStream)
outputStream.write_float(self.quantity);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.supplyType.parse(inputStream)
self.quantity = inputStream.read_float();
Ancestors (in MRO)
- SupplyQuantity
- builtins.object
Static methods
def __init__(
self)
Initializer for SupplyQuantity
def __init__(self):
""" Initializer for SupplyQuantity"""
self.supplyType = EntityType();
""" Type of supply"""
self.quantity = 0
""" the number of units of a supply type. """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.supplyType.parse(inputStream)
self.quantity = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.supplyType.serialize(outputStream)
outputStream.write_float(self.quantity);
Instance variables
var quantity
the number of units of a supply type.
var supplyType
Type of supply
class SyntheticEnvironmentFamilyPdu
Section 5.3.11: Abstract superclass for synthetic environment PDUs
class SyntheticEnvironmentFamilyPdu( Pdu ):
"""Section 5.3.11: Abstract superclass for synthetic environment PDUs"""
def __init__(self):
""" Initializer for SyntheticEnvironmentFamilyPdu"""
super(SyntheticEnvironmentFamilyPdu, self).__init__()
self.protocolFamily = 9
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( SyntheticEnvironmentFamilyPdu, self ).serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SyntheticEnvironmentFamilyPdu, self).parse(inputStream)
Ancestors (in MRO)
- SyntheticEnvironmentFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for SyntheticEnvironmentFamilyPdu
def __init__(self):
""" Initializer for SyntheticEnvironmentFamilyPdu"""
super(SyntheticEnvironmentFamilyPdu, self).__init__()
self.protocolFamily = 9
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( SyntheticEnvironmentFamilyPdu, self).parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( SyntheticEnvironmentFamilyPdu, self ).serialize(outputStream)
Instance variables
class SystemIdentifier
The ID of the IFF emitting system. NOT COMPLETE. Section 6.2.87
class SystemIdentifier( object ):
"""The ID of the IFF emitting system. NOT COMPLETE. Section 6.2.87"""
def __init__(self):
""" Initializer for SystemIdentifier"""
self.systemType = 0
""" general type of emitting system, an enumeration"""
self.systemName = 0
""" named type of system, an enumeration"""
self.systemMode = 0
""" mode of operation for the system, an enumeration"""
self.changeOptions = ChangeOptions();
""" status of this PDU, see section 6.2.15"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.systemType);
outputStream.write_unsigned_short(self.systemName);
outputStream.write_unsigned_short(self.systemMode);
self.changeOptions.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.systemType = inputStream.read_unsigned_short();
self.systemName = inputStream.read_unsigned_short();
self.systemMode = inputStream.read_unsigned_short();
self.changeOptions.parse(inputStream)
Ancestors (in MRO)
- SystemIdentifier
- builtins.object
Static methods
def __init__(
self)
Initializer for SystemIdentifier
def __init__(self):
""" Initializer for SystemIdentifier"""
self.systemType = 0
""" general type of emitting system, an enumeration"""
self.systemName = 0
""" named type of system, an enumeration"""
self.systemMode = 0
""" mode of operation for the system, an enumeration"""
self.changeOptions = ChangeOptions();
""" status of this PDU, see section 6.2.15"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.systemType = inputStream.read_unsigned_short();
self.systemName = inputStream.read_unsigned_short();
self.systemMode = inputStream.read_unsigned_short();
self.changeOptions.parse(inputStream)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.systemType);
outputStream.write_unsigned_short(self.systemName);
outputStream.write_unsigned_short(self.systemMode);
self.changeOptions.serialize(outputStream)
Instance variables
var changeOptions
status of this PDU, see section 6.2.15
var systemMode
mode of operation for the system, an enumeration
var systemName
named type of system, an enumeration
var systemType
general type of emitting system, an enumeration
class TotalRecordSets
Total number of record sets contained in a logical set of one or more PDUs. Used to transfer ownership, etc Section 6.2.88
class TotalRecordSets( object ):
"""Total number of record sets contained in a logical set of one or more PDUs. Used to transfer ownership, etc Section 6.2.88"""
def __init__(self):
""" Initializer for TotalRecordSets"""
self.totalRecordSets = 0
""" Total number of record sets"""
self.padding = 0
""" padding"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.totalRecordSets);
outputStream.write_unsigned_short(self.padding);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.totalRecordSets = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
Ancestors (in MRO)
- TotalRecordSets
- builtins.object
Static methods
def __init__(
self)
Initializer for TotalRecordSets
def __init__(self):
""" Initializer for TotalRecordSets"""
self.totalRecordSets = 0
""" Total number of record sets"""
self.padding = 0
""" padding"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.totalRecordSets = inputStream.read_unsigned_short();
self.padding = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.totalRecordSets);
outputStream.write_unsigned_short(self.padding);
Instance variables
var padding
padding
var totalRecordSets
Total number of record sets
class TrackJamData
Track-Jam data Section 6.2.89
class TrackJamData( object ):
""" Track-Jam data Section 6.2.89"""
def __init__(self):
""" Initializer for TrackJamData"""
self.entityID = EntityID();
""" the entity tracked or illumated, or an emitter beam targeted with jamming"""
self.emitterNumber = 0
""" Emitter system associated with the entity"""
self.beamNumber = 0
""" Beam associated with the entity"""
def serialize(self, outputStream):
"""serialize the class """
self.entityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.emitterNumber);
outputStream.write_unsigned_byte(self.beamNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityID.parse(inputStream)
self.emitterNumber = inputStream.read_unsigned_byte();
self.beamNumber = inputStream.read_unsigned_byte();
Ancestors (in MRO)
- TrackJamData
- builtins.object
Static methods
def __init__(
self)
Initializer for TrackJamData
def __init__(self):
""" Initializer for TrackJamData"""
self.entityID = EntityID();
""" the entity tracked or illumated, or an emitter beam targeted with jamming"""
self.emitterNumber = 0
""" Emitter system associated with the entity"""
self.beamNumber = 0
""" Beam associated with the entity"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.entityID.parse(inputStream)
self.emitterNumber = inputStream.read_unsigned_byte();
self.beamNumber = inputStream.read_unsigned_byte();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.entityID.serialize(outputStream)
outputStream.write_unsigned_byte(self.emitterNumber);
outputStream.write_unsigned_byte(self.beamNumber);
Instance variables
var beamNumber
Beam associated with the entity
var emitterNumber
Emitter system associated with the entity
var entityID
the entity tracked or illumated, or an emitter beam targeted with jamming
class TransmitterPdu
Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. Section 7.7.2 UNFINISHED
class TransmitterPdu( RadioCommunicationsFamilyPdu ):
"""Detailed information about a radio transmitter. This PDU requires manually written code to complete, since the modulation parameters are of variable length. Section 7.7.2 UNFINISHED"""
def __init__(self):
""" Initializer for TransmitterPdu"""
super(TransmitterPdu, self).__init__()
self.radioReferenceID = EntityID();
""" ID of the entitythat is the source of the communication"""
self.radioNumber = 0
""" particular radio within an entity"""
self.radioEntityType = EntityType();
""" Type of radio"""
self.transmitState = 0
""" transmit state"""
self.inputSource = 0
""" input source"""
self.variableTransmitterParameterCount = 0
""" count field"""
self.antennaLocation = Vector3Double();
""" Location of antenna"""
self.relativeAntennaLocation = Vector3Float();
""" relative location of antenna"""
self.antennaPatternType = 0
""" antenna pattern type"""
self.antennaPatternCount = 0
""" atenna pattern length"""
self.frequency = 0
""" frequency"""
self.transmitFrequencyBandwidth = 0
""" transmit frequency Bandwidth"""
self.power = 0
""" transmission power"""
self.modulationType = ModulationType();
""" modulation"""
self.cryptoSystem = 0
""" crypto system enumeration"""
self.cryptoKeyId = 0
""" crypto system key identifer"""
self.modulationParameterCount = 0
""" how many modulation parameters we have"""
self.padding2 = 0
""" padding2"""
self.padding3 = 0
""" padding3"""
self.modulationParametersList = []
""" variable length list of modulation parameters"""
self.antennaPatternList = []
""" variable length list of antenna pattern records"""
self.pduType = 25
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( TransmitterPdu, self ).serialize(outputStream)
self.radioReferenceID.serialize(outputStream)
outputStream.write_unsigned_short(self.radioNumber);
self.radioEntityType.serialize(outputStream)
outputStream.write_unsigned_byte(self.transmitState);
outputStream.write_unsigned_byte(self.inputSource);
outputStream.write_unsigned_short(self.variableTransmitterParameterCount);
self.antennaLocation.serialize(outputStream)
self.relativeAntennaLocation.serialize(outputStream)
outputStream.write_unsigned_short(self.antennaPatternType);
outputStream.write_unsigned_short( len(self.antennaPatternList));
outputStream.write_long(self.frequency);
outputStream.write_float(self.transmitFrequencyBandwidth);
outputStream.write_float(self.power);
self.modulationType.serialize(outputStream)
outputStream.write_unsigned_short(self.cryptoSystem);
outputStream.write_unsigned_short(self.cryptoKeyId);
outputStream.write_unsigned_byte( len(self.modulationParametersList));
outputStream.write_unsigned_short(self.padding2);
outputStream.write_unsigned_byte(self.padding3);
for anObj in self.modulationParametersList:
anObj.serialize(outputStream)
for anObj in self.antennaPatternList:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( TransmitterPdu, self).parse(inputStream)
self.radioReferenceID.parse(inputStream)
self.radioNumber = inputStream.read_unsigned_short();
self.radioEntityType.parse(inputStream)
self.transmitState = inputStream.read_unsigned_byte();
self.inputSource = inputStream.read_unsigned_byte();
self.variableTransmitterParameterCount = inputStream.read_unsigned_short();
self.antennaLocation.parse(inputStream)
self.relativeAntennaLocation.parse(inputStream)
self.antennaPatternType = inputStream.read_unsigned_short();
self.antennaPatternCount = inputStream.read_unsigned_short();
self.frequency = inputStream.read_long();
self.transmitFrequencyBandwidth = inputStream.read_float();
self.power = inputStream.read_float();
self.modulationType.parse(inputStream)
self.cryptoSystem = inputStream.read_unsigned_short();
self.cryptoKeyId = inputStream.read_unsigned_short();
self.modulationParameterCount = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_short();
self.padding3 = inputStream.read_unsigned_byte();
for idx in range(0, self.modulationParameterCount):
element = null()
element.parse(inputStream)
self.modulationParametersList.append(element)
for idx in range(0, self.antennaPatternCount):
element = null()
element.parse(inputStream)
self.antennaPatternList.append(element)
Ancestors (in MRO)
- TransmitterPdu
- RadioCommunicationsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for TransmitterPdu
def __init__(self):
""" Initializer for TransmitterPdu"""
super(TransmitterPdu, self).__init__()
self.radioReferenceID = EntityID();
""" ID of the entitythat is the source of the communication"""
self.radioNumber = 0
""" particular radio within an entity"""
self.radioEntityType = EntityType();
""" Type of radio"""
self.transmitState = 0
""" transmit state"""
self.inputSource = 0
""" input source"""
self.variableTransmitterParameterCount = 0
""" count field"""
self.antennaLocation = Vector3Double();
""" Location of antenna"""
self.relativeAntennaLocation = Vector3Float();
""" relative location of antenna"""
self.antennaPatternType = 0
""" antenna pattern type"""
self.antennaPatternCount = 0
""" atenna pattern length"""
self.frequency = 0
""" frequency"""
self.transmitFrequencyBandwidth = 0
""" transmit frequency Bandwidth"""
self.power = 0
""" transmission power"""
self.modulationType = ModulationType();
""" modulation"""
self.cryptoSystem = 0
""" crypto system enumeration"""
self.cryptoKeyId = 0
""" crypto system key identifer"""
self.modulationParameterCount = 0
""" how many modulation parameters we have"""
self.padding2 = 0
""" padding2"""
self.padding3 = 0
""" padding3"""
self.modulationParametersList = []
""" variable length list of modulation parameters"""
self.antennaPatternList = []
""" variable length list of antenna pattern records"""
self.pduType = 25
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( TransmitterPdu, self).parse(inputStream)
self.radioReferenceID.parse(inputStream)
self.radioNumber = inputStream.read_unsigned_short();
self.radioEntityType.parse(inputStream)
self.transmitState = inputStream.read_unsigned_byte();
self.inputSource = inputStream.read_unsigned_byte();
self.variableTransmitterParameterCount = inputStream.read_unsigned_short();
self.antennaLocation.parse(inputStream)
self.relativeAntennaLocation.parse(inputStream)
self.antennaPatternType = inputStream.read_unsigned_short();
self.antennaPatternCount = inputStream.read_unsigned_short();
self.frequency = inputStream.read_long();
self.transmitFrequencyBandwidth = inputStream.read_float();
self.power = inputStream.read_float();
self.modulationType.parse(inputStream)
self.cryptoSystem = inputStream.read_unsigned_short();
self.cryptoKeyId = inputStream.read_unsigned_short();
self.modulationParameterCount = inputStream.read_unsigned_byte();
self.padding2 = inputStream.read_unsigned_short();
self.padding3 = inputStream.read_unsigned_byte();
for idx in range(0, self.modulationParameterCount):
element = null()
element.parse(inputStream)
self.modulationParametersList.append(element)
for idx in range(0, self.antennaPatternCount):
element = null()
element.parse(inputStream)
self.antennaPatternList.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( TransmitterPdu, self ).serialize(outputStream)
self.radioReferenceID.serialize(outputStream)
outputStream.write_unsigned_short(self.radioNumber);
self.radioEntityType.serialize(outputStream)
outputStream.write_unsigned_byte(self.transmitState);
outputStream.write_unsigned_byte(self.inputSource);
outputStream.write_unsigned_short(self.variableTransmitterParameterCount);
self.antennaLocation.serialize(outputStream)
self.relativeAntennaLocation.serialize(outputStream)
outputStream.write_unsigned_short(self.antennaPatternType);
outputStream.write_unsigned_short( len(self.antennaPatternList));
outputStream.write_long(self.frequency);
outputStream.write_float(self.transmitFrequencyBandwidth);
outputStream.write_float(self.power);
self.modulationType.serialize(outputStream)
outputStream.write_unsigned_short(self.cryptoSystem);
outputStream.write_unsigned_short(self.cryptoKeyId);
outputStream.write_unsigned_byte( len(self.modulationParametersList));
outputStream.write_unsigned_short(self.padding2);
outputStream.write_unsigned_byte(self.padding3);
for anObj in self.modulationParametersList:
anObj.serialize(outputStream)
for anObj in self.antennaPatternList:
anObj.serialize(outputStream)
Instance variables
var antennaLocation
Location of antenna
var antennaPatternCount
atenna pattern length
var antennaPatternList
variable length list of antenna pattern records
var antennaPatternType
antenna pattern type
var cryptoKeyId
crypto system key identifer
var cryptoSystem
crypto system enumeration
var frequency
frequency
var inputSource
input source
var modulationParameterCount
how many modulation parameters we have
var modulationParametersList
variable length list of modulation parameters
var modulationType
modulation
var padding2
padding2
var padding3
padding3
var pduType
initialize value
var power
transmission power
var radioEntityType
Type of radio
var radioNumber
particular radio within an entity
var radioReferenceID
ID of the entitythat is the source of the communication
var relativeAntennaLocation
relative location of antenna
var transmitFrequencyBandwidth
transmit frequency Bandwidth
var transmitState
transmit state
var variableTransmitterParameterCount
count field
class TwoByteChunk
16 bit piece of data
class TwoByteChunk( object ):
"""16 bit piece of data"""
def __init__(self):
""" Initializer for TwoByteChunk"""
self.otherParameters = [ 0, 0]
""" two bytes of arbitrary data"""
def serialize(self, outputStream):
"""serialize the class """
for idx in range(0, 2):
outputStream.write_byte( self.otherParameters[ idx ] );
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.otherParameters = [0]*2
for idx in range(0, 2):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
Ancestors (in MRO)
- TwoByteChunk
- builtins.object
Static methods
def __init__(
self)
Initializer for TwoByteChunk
def __init__(self):
""" Initializer for TwoByteChunk"""
self.otherParameters = [ 0, 0]
""" two bytes of arbitrary data"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.otherParameters = [0]*2
for idx in range(0, 2):
val = inputStream.read_byte()
self.otherParameters[ idx ] = val
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
for idx in range(0, 2):
outputStream.write_byte( self.otherParameters[ idx ] );
Instance variables
var otherParameters
two bytes of arbitrary data
class UAFundamentalParameter
Regeneration parameters for active emission systems that are variable throughout a scenario. Section 6.2.91
class UAFundamentalParameter( object ):
"""Regeneration parameters for active emission systems that are variable throughout a scenario. Section 6.2.91"""
def __init__(self):
""" Initializer for UAFundamentalParameter"""
self.activeEmissionParameterIndex = 0
""" Which database record shall be used. An enumeration from EBV document"""
self.scanPattern = 0
""" The type of scan pattern, If not used, zero. An enumeration from EBV document"""
self.beamCenterAzimuthHorizontal = 0
""" center azimuth bearing of th emain beam. In radians."""
self.azimuthalBeamwidthHorizontal = 0
""" Horizontal beamwidth of th emain beam Meastued at the 3dB down point of peak radiated power. In radians."""
self.beamCenterDepressionElevation = 0
""" center of the d/e angle of th emain beam relative to the stablised de angle of the target. In radians."""
self.beamwidthDownElevation = 0
""" vertical beamwidth of the main beam. Meastured at the 3dB down point of peak radiated power. In radians."""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.activeEmissionParameterIndex);
outputStream.write_unsigned_short(self.scanPattern);
outputStream.write_float(self.beamCenterAzimuthHorizontal);
outputStream.write_float(self.azimuthalBeamwidthHorizontal);
outputStream.write_float(self.beamCenterDepressionElevation);
outputStream.write_float(self.beamwidthDownElevation);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.activeEmissionParameterIndex = inputStream.read_unsigned_short();
self.scanPattern = inputStream.read_unsigned_short();
self.beamCenterAzimuthHorizontal = inputStream.read_float();
self.azimuthalBeamwidthHorizontal = inputStream.read_float();
self.beamCenterDepressionElevation = inputStream.read_float();
self.beamwidthDownElevation = inputStream.read_float();
Ancestors (in MRO)
- UAFundamentalParameter
- builtins.object
Static methods
def __init__(
self)
Initializer for UAFundamentalParameter
def __init__(self):
""" Initializer for UAFundamentalParameter"""
self.activeEmissionParameterIndex = 0
""" Which database record shall be used. An enumeration from EBV document"""
self.scanPattern = 0
""" The type of scan pattern, If not used, zero. An enumeration from EBV document"""
self.beamCenterAzimuthHorizontal = 0
""" center azimuth bearing of th emain beam. In radians."""
self.azimuthalBeamwidthHorizontal = 0
""" Horizontal beamwidth of th emain beam Meastued at the 3dB down point of peak radiated power. In radians."""
self.beamCenterDepressionElevation = 0
""" center of the d/e angle of th emain beam relative to the stablised de angle of the target. In radians."""
self.beamwidthDownElevation = 0
""" vertical beamwidth of the main beam. Meastured at the 3dB down point of peak radiated power. In radians."""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.activeEmissionParameterIndex = inputStream.read_unsigned_short();
self.scanPattern = inputStream.read_unsigned_short();
self.beamCenterAzimuthHorizontal = inputStream.read_float();
self.azimuthalBeamwidthHorizontal = inputStream.read_float();
self.beamCenterDepressionElevation = inputStream.read_float();
self.beamwidthDownElevation = inputStream.read_float();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_short(self.activeEmissionParameterIndex);
outputStream.write_unsigned_short(self.scanPattern);
outputStream.write_float(self.beamCenterAzimuthHorizontal);
outputStream.write_float(self.azimuthalBeamwidthHorizontal);
outputStream.write_float(self.beamCenterDepressionElevation);
outputStream.write_float(self.beamwidthDownElevation);
Instance variables
var activeEmissionParameterIndex
Which database record shall be used. An enumeration from EBV document
var azimuthalBeamwidthHorizontal
Horizontal beamwidth of th emain beam Meastued at the 3dB down point of peak radiated power. In radians.
var beamCenterAzimuthHorizontal
center azimuth bearing of th emain beam. In radians.
var beamCenterDepressionElevation
center of the d/e angle of th emain beam relative to the stablised de angle of the target. In radians.
var beamwidthDownElevation
vertical beamwidth of the main beam. Meastured at the 3dB down point of peak radiated power. In radians.
var scanPattern
The type of scan pattern, If not used, zero. An enumeration from EBV document
class UaPdu
Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. Section 7.6.4. UNFINISHED
class UaPdu( DistributedEmissionsFamilyPdu ):
""" Information about underwater acoustic emmissions. This requires manual cleanup. The beam data records should ALL be a the finish, rather than attached to each emitter system. Section 7.6.4. UNFINISHED"""
def __init__(self):
""" Initializer for UaPdu"""
super(UaPdu, self).__init__()
self.emittingEntityID = EntityID();
""" ID of the entity that is the source of the emission"""
self.eventID = EventIdentifier();
""" ID of event"""
self.stateChangeIndicator = 0
""" This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU"""
self.pad = 0
""" padding"""
self.passiveParameterIndex = 0
""" This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries."""
self.propulsionPlantConfiguration = 0
""" This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity."""
self.numberOfShafts = 0
""" This field shall represent the number of shafts on a platform"""
self.numberOfAPAs = 0
""" This field shall indicate the number of APAs described in the current UA PDU"""
self.numberOfUAEmitterSystems = 0
""" This field shall specify the number of UA emitter systems being described in the current UA PDU"""
self.shaftRPMs = []
""" shaft RPM values. THIS IS WRONG. It has the wrong class in the list."""
self.apaData = []
""" apaData. THIS IS WRONG. It has the worng class in the list."""
self.emitterSystems = []
""" THIS IS WRONG. It has the wrong class in the list."""
self.pduType = 29
""" initialize value """
def serialize(self, outputStream):
"""serialize the class """
super( UaPdu, self ).serialize(outputStream)
self.emittingEntityID.serialize(outputStream)
self.eventID.serialize(outputStream)
outputStream.write_byte(self.stateChangeIndicator);
outputStream.write_byte(self.pad);
outputStream.write_unsigned_short(self.passiveParameterIndex);
outputStream.write_unsigned_byte(self.propulsionPlantConfiguration);
outputStream.write_unsigned_byte( len(self.shaftRPMs));
outputStream.write_unsigned_byte( len(self.apaData));
outputStream.write_unsigned_byte( len(self.emitterSystems));
for anObj in self.shaftRPMs:
anObj.serialize(outputStream)
for anObj in self.apaData:
anObj.serialize(outputStream)
for anObj in self.emitterSystems:
anObj.serialize(outputStream)
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( UaPdu, self).parse(inputStream)
self.emittingEntityID.parse(inputStream)
self.eventID.parse(inputStream)
self.stateChangeIndicator = inputStream.read_byte();
self.pad = inputStream.read_byte();
self.passiveParameterIndex = inputStream.read_unsigned_short();
self.propulsionPlantConfiguration = inputStream.read_unsigned_byte();
self.numberOfShafts = inputStream.read_unsigned_byte();
self.numberOfAPAs = inputStream.read_unsigned_byte();
self.numberOfUAEmitterSystems = inputStream.read_unsigned_byte();
for idx in range(0, self.numberOfShafts):
element = null()
element.parse(inputStream)
self.shaftRPMs.append(element)
for idx in range(0, self.numberOfAPAs):
element = null()
element.parse(inputStream)
self.apaData.append(element)
for idx in range(0, self.numberOfUAEmitterSystems):
element = null()
element.parse(inputStream)
self.emitterSystems.append(element)
Ancestors (in MRO)
- UaPdu
- DistributedEmissionsFamilyPdu
- Pdu
- PduSuperclass
- builtins.object
Static methods
def __init__(
self)
Initializer for UaPdu
def __init__(self):
""" Initializer for UaPdu"""
super(UaPdu, self).__init__()
self.emittingEntityID = EntityID();
""" ID of the entity that is the source of the emission"""
self.eventID = EventIdentifier();
""" ID of event"""
self.stateChangeIndicator = 0
""" This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU"""
self.pad = 0
""" padding"""
self.passiveParameterIndex = 0
""" This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries."""
self.propulsionPlantConfiguration = 0
""" This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity."""
self.numberOfShafts = 0
""" This field shall represent the number of shafts on a platform"""
self.numberOfAPAs = 0
""" This field shall indicate the number of APAs described in the current UA PDU"""
self.numberOfUAEmitterSystems = 0
""" This field shall specify the number of UA emitter systems being described in the current UA PDU"""
self.shaftRPMs = []
""" shaft RPM values. THIS IS WRONG. It has the wrong class in the list."""
self.apaData = []
""" apaData. THIS IS WRONG. It has the worng class in the list."""
self.emitterSystems = []
""" THIS IS WRONG. It has the wrong class in the list."""
self.pduType = 29
""" initialize value """
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
super( UaPdu, self).parse(inputStream)
self.emittingEntityID.parse(inputStream)
self.eventID.parse(inputStream)
self.stateChangeIndicator = inputStream.read_byte();
self.pad = inputStream.read_byte();
self.passiveParameterIndex = inputStream.read_unsigned_short();
self.propulsionPlantConfiguration = inputStream.read_unsigned_byte();
self.numberOfShafts = inputStream.read_unsigned_byte();
self.numberOfAPAs = inputStream.read_unsigned_byte();
self.numberOfUAEmitterSystems = inputStream.read_unsigned_byte();
for idx in range(0, self.numberOfShafts):
element = null()
element.parse(inputStream)
self.shaftRPMs.append(element)
for idx in range(0, self.numberOfAPAs):
element = null()
element.parse(inputStream)
self.apaData.append(element)
for idx in range(0, self.numberOfUAEmitterSystems):
element = null()
element.parse(inputStream)
self.emitterSystems.append(element)
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
super( UaPdu, self ).serialize(outputStream)
self.emittingEntityID.serialize(outputStream)
self.eventID.serialize(outputStream)
outputStream.write_byte(self.stateChangeIndicator);
outputStream.write_byte(self.pad);
outputStream.write_unsigned_short(self.passiveParameterIndex);
outputStream.write_unsigned_byte(self.propulsionPlantConfiguration);
outputStream.write_unsigned_byte( len(self.shaftRPMs));
outputStream.write_unsigned_byte( len(self.apaData));
outputStream.write_unsigned_byte( len(self.emitterSystems));
for anObj in self.shaftRPMs:
anObj.serialize(outputStream)
for anObj in self.apaData:
anObj.serialize(outputStream)
for anObj in self.emitterSystems:
anObj.serialize(outputStream)
Instance variables
var apaData
apaData. THIS IS WRONG. It has the worng class in the list.
var emitterSystems
THIS IS WRONG. It has the wrong class in the list.
var emittingEntityID
ID of the entity that is the source of the emission
var eventID
ID of event
var numberOfAPAs
This field shall indicate the number of APAs described in the current UA PDU
var numberOfShafts
This field shall represent the number of shafts on a platform
var numberOfUAEmitterSystems
This field shall specify the number of UA emitter systems being described in the current UA PDU
var pad
padding
var passiveParameterIndex
This field indicates which database record (or file) shall be used in the definition of passive signature (unintentional) emissions of the entity. The indicated database record (or file) shall define all noise generated as a function of propulsion plant configurations and associated auxiliaries.
var pduType
initialize value
var propulsionPlantConfiguration
This field shall specify the entity propulsion plant configuration. This field is used to determine the passive signature characteristics of an entity.
var shaftRPMs
shaft RPM values. THIS IS WRONG. It has the wrong class in the list.
var stateChangeIndicator
This field shall be used to indicate whether the data in the UA PDU represent a state update or data that have changed since issuance of the last UA PDU
class UnattachedIdentifier
The unique designation of one or more unattached radios in an event or exercise Section 6.2.91
class UnattachedIdentifier( object ):
"""The unique designation of one or more unattached radios in an event or exercise Section 6.2.91"""
def __init__(self):
""" Initializer for UnattachedIdentifier"""
self.simulationAddress = SimulationAddress();
""" See 6.2.79"""
self.referenceNumber = 0
""" Reference number"""
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.referenceNumber);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.referenceNumber = inputStream.read_unsigned_short();
Ancestors (in MRO)
- UnattachedIdentifier
- builtins.object
Static methods
def __init__(
self)
Initializer for UnattachedIdentifier
def __init__(self):
""" Initializer for UnattachedIdentifier"""
self.simulationAddress = SimulationAddress();
""" See 6.2.79"""
self.referenceNumber = 0
""" Reference number"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.simulationAddress.parse(inputStream)
self.referenceNumber = inputStream.read_unsigned_short();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
self.simulationAddress.serialize(outputStream)
outputStream.write_unsigned_short(self.referenceNumber);
Instance variables
var referenceNumber
Reference number
var simulationAddress
See 6.2.79
class UnsignedDISInteger
container class not in specification
class UnsignedDISInteger( object ):
"""container class not in specification"""
def __init__(self):
""" Initializer for UnsignedDISInteger"""
self.val = 0
""" unsigned integer"""
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.val);
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.val = inputStream.read_unsigned_int();
Ancestors (in MRO)
- UnsignedDISInteger
- builtins.object
Static methods
def __init__(
self)
Initializer for UnsignedDISInteger
def __init__(self):
""" Initializer for UnsignedDISInteger"""
self.val = 0
""" unsigned integer"""
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.val = inputStream.read_unsigned_int();
def serialize(
self, outputStream)
serialize the class
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.val);
Instance variables
var val
unsigned integer
class VariableDatum
the variable datum type, the datum length, and the value for that variable datum type. NOT COMPLETE. Section 6.2.93
class VariableDatum( object ):
"""the variable datum type, the datum length, and the value for that variable datum type. NOT COMPLETE. Section 6.2.93"""
def __init__(self):
""" Initializer for VariableDatum"""
self.variableDatumID = 0
""" Type of variable datum to be transmitted. 32 bit enumeration defined in EBV"""
self.variableDatumLength = 0
""" Length, IN BITS, of the variable datum."""
self.variableData = []
""" Variable datum. This can be any number of bits long, depending on the datum."""
def datumPaddingSizeInBits(self):
padding = 0
remainder = self.variableDatumLength % 64
if remainder != 0:
padding = 64 - remainder
return padding
def serialize(self, outputStream):
"""serialize the class """
outputStream.write_unsigned_int(self.variableDatumID);
outputStream.write_unsigned_int(self.variableDatumLength);
for x in range(self.variableDatumLength // 8): # length is in bits
outputStream.write_byte(self.variableData[x])
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""
self.variableDatumID = inputStream.read_unsigned_int();
self.variableDatumLength = inputStream.read_unsigned_int();
for x in range(self.variableDatumLength // 8): # length is in bits
self.variableData.append(inputStream.read_byte());
# Skip over padding
# "This field shall be padded at the end to make the length a multiple of 64-bits."
for x in range(self.datumPaddingSizeInBits() // 8):
inputStream.read_byte()
Ancestors (in MRO)
- VariableDatum
- builtins.object
Static methods
def __init__(
self)
Initializer for VariableDatum
def __init__(self):
""" Initializer for VariableDatum"""
self.variableDatumID = 0
""" Type of variable datum to be transmitted. 32 bit enumeration defined in EBV"""
self.variableDatumLength = 0
""" Length, IN BITS, of the variable datum."""
self.variableData = []
""" Variable datum. This can be any number of bits long, depending on the datum."""
def datumPaddingSizeInBits(
self)
def datumPaddingSizeInBits(self):
padding = 0
remainder = self.variableDatumLength % 64
if remainder != 0:
padding = 64 - remainder
return padding
def parse(
self, inputStream)
"Parse a message. This may recursively call embedded objects.
def parse(self, inputStream):
""""Parse a message. This may recursively call embedded objects."""