Logo
Telescience Resource Kit
TReK Python  5.4.0 ART
RandomPacketCollection Class Reference

This class describes a parameter collection composed of one or more parameters. More...

Inherits PacketItem.

Public Member Functions

Initialize / Finalize

Functions handling class initialization and finalization.

def RandomPacketCollection ( Optional[RandomPacketCollection] random_collection=None -> def ) -> def 
 Class initializer. More...
 
def clone ( -> RandomPacketCollection ) -> def 
 Creates a new instance of the object with the same contents.
 
def copy (copy_from: object -> None ) -> def 
 Copies the contents of the provided 'copy_from' RandomPacketCollection. More...
 
def initialize ( -> None ) -> def 
 Initializes the object. More...
 
def load_file (filename: str -> None ) -> def 
 Loads the RandomPacketCollection definition from the specified file. More...
 
def save_file (filename: str -> None ) -> def 
 Saves the RandomPacketCollection definition to the specified file. More...
 
Building and Extraction
def build (buffer: bytearray -> int ) -> def 
 Builds the parameter collection and places it in the specified buffer. More...
 
def extract (buffer: bytearray, input_length: int, start_bit: int -> int ) -> def 
 Extracts all of the parameters in the collection from the specified buffer. More...
 
def get_length_in_bits ( -> int ) -> def 
 Gets the length of the parameter collection in bits. More...
 
def get_length_in_bytes ( -> int ) -> def 
 Gets the length of the parameter collection in bytes. More...
 
def get_maximum_length_in_bits ( -> int ) -> def 
 Returns the maximum length of the RandomPacketCollection in bits. More...
 
def is_complete ( -> bool ) -> def 
 Determines if all parameters have a value. More...
 
def is_modifiable (top_level: bool=True -> bool ) -> def 
 Determines if any data is modifiable. More...
 
Packet Collection

Functions handling adding / removing packets.

def add_packet (packet: Packet -> None ) -> def 
 Adds the packet to the collection. More...
 
def remove_packet (pack_name: str -> None ) -> def 
 Removes the specified Packet from the collection. More...
 
def get_number_of_packets ( -> int ) -> def 
 Returns the number of packets currently in the collection. More...
 
def has_modifiable_data (data_zone_only: bool=True -> bool ) -> def 
 Determines if any of the parameters are modifiable. More...
 
def has_variable_length_data ( -> bool ) -> def 
 Determines if the random packet collection has any variable length data. More...
 
def remove_all_packets ( -> None ) -> def 
 Removes all packets and associated memory from the collection.
 
Parameters

Functions handling parameters.

def find_parameter (name: str -> Parameter ) -> def 
 Finds the specified parameter name in the collection. More...
 
def get_parameter_list (full_name: bool=True, mod_only: bool=False -> list[str] ) -> def 
 Returns a list of all parameters within a collection. More...
 
def get_sorted_parameter_list (full_name: bool=True, mod_only: bool=False -> list[str] ) -> def 
 Returns a sorted list of all parameters within a collection by their start location. More...
 
Parameters

Functions handling Parameters.

Packet

Functions handling Packets.

- Public Member Functions inherited from NamedItem
def remove_all_attributes ( -> None ) -> def 
 Removes all attributes.
 
def remove_attribute (name: str -> None ) -> def 
 Removes the attribute by name. More...
 
def __eq__ (named_item: object -> bool ) -> def 
 Equality operator "==". More...
 
def add_attribute (name: str, value: str -> None ) -> def 
 Adds an attribute to the item. More...
 
def get_alias ( -> str ) -> def 
 Returns the alias of the item. More...
 
def get_attribute (name: str -> str ) -> def 
 Get the value of the specified attribute. More...
 
def get_attribute_list ( -> list[str] ) -> def 
 Gets a list of the attribute names. More...
 
def get_name ( -> str ) -> def 
 Returns the name of the item. More...
 
def get_long_description ( -> str ) -> def 
 Returns the long description of the item. More...
 
def get_short_description ( -> str ) -> def 
 Returns the short description of the item. More...
 
def get_user_description ( -> str ) -> def 
 Returns the user description of the item. More...
 
def get_owner ( -> str ) -> def 
 Returns the owner of the item. More...
 
def get_path ( -> str ) -> def 
 Returns the path for the item. More...
 
def set_name (name: str -> None ) -> def 
 Sets the name of the item. More...
 
def set_alias (alias: str -> None ) -> def 
 Sets the alias of the item. More...
 
def set_short_description (description: str -> None ) -> def 
 Sets the short description of the item. More...
 
def set_long_description (description: str -> None ) -> def 
 Sets the long description of the item. More...
 
def set_user_description (description: str -> None ) -> def 
 Sets the user description of the item. More...
 
def set_owner (owner: str -> None ) -> def 
 Sets the owner of the item. More...
 
def set_path (path: str -> None ) -> def 
 Sets the path of the item. More...
 

Detailed Description

This class describes a parameter collection composed of one or more parameters.

The RandomPacketCollection class holds one or more parameters that can be built and placed in a packet based on the start location of each parameter.

Constructor & Destructor Documentation

◆ RandomPacketCollection()

(random_collection : Optional[RandomPacketCollection]  ) -> def

Class initializer.

Parameters
[in]random_collection(Optional) RandomPacketCollection to copy.

Reimplemented from NamedItem.

Member Function Documentation

◆ add_packet()

(packet : Packet ) -> None

Adds the packet to the collection.

Adds the packet to the RandomPacketCollection indexed by the id of the packet. The RandomPacketCollection makes a copy of the input.

Parameters
[in]packetThe Packet to add to the collection. Packet must have a name and identifier.
Exceptions
TrekError1 - FAIL,

(if name missing),

15106 - TREK_DATA_ID_MISMATCH,

(if ID missing),

15005 - TREK_DATA_ALREADY_EXISTS

◆ build()

(buffer : bytearray ) -> int

Builds the parameter collection and places it in the specified buffer.

The parameters composing the collection are built and placed in the buffer.

Warning
Currently building a random packet collection does not occur. It will execute successfully returning the last bit size of the definition.
Returns
The last bit used if successful.

◆ copy()

(copy_from : object ) -> None

Copies the contents of the provided 'copy_from' RandomPacketCollection.

Parameters
[in]copy_fromRandomPacketCollection to copy from.
Exceptions
TypeErrorif 'copy_from' is not a RandomPacketCollection.

Reimplemented from NamedItem.

◆ extract()

(buffer : bytearray 
input_length : int 
start_bit : int 
) -> int

Extracts all of the parameters in the collection from the specified buffer.

Loops through all of the parameters contained in the collection and extracts their indiviual values (see Parameter for details on what parameter extraction encompasses).

Parameters
bufferThe buffer from which to extract.
input_lengthThe valid number of bytes that can be read.
start_bitThe starting bit in the buffer to begin reading.
Returns
The last bit used, if successful.
Exceptions
TrekError15062 - TREK_LAST_BIT_ERROR

◆ find_parameter()

(name : str ) -> Parameter

Finds the specified parameter name in the collection.

Parameters are stored in a map with two names. The short name (te actual name is the Parameter class) and a fully qualified name which includes the packet hierarchy. If two or more parameters have the same name, you must use the fully qualified name to find the packet. Otherwise, either name will work. The fully qualified names for a given parameter an be found in get_fully_qualified_names().

Parameters
[in]nameThe name of the parameter to find.
Returns
Parameter if located.
Exceptions
TrekError15007 - TREK_DATA_DOES_NOT_EXIST,

15033 - TREK_DATA_MORE_THAN_ONE_PARAMETER

Reimplemented from PacketItem.

◆ get_length_in_bits()

() -> int

Gets the length of the parameter collection in bits.

Calculates the length of the parameter collection in bits by determining the last bit used by any parameter in the packet. If the parameter collection contains a variable length parameter, this method will fail.

Returns
Length in bits.
Exceptions
TrekError15017 - TREK_DATA_FIXED_LENGTH_REQUIRED

Reimplemented from PacketItem.

◆ get_length_in_bytes()

() -> int

Gets the length of the parameter collection in bytes.

Calculates the length of the parameter collection in bits by determining the last bit used by any parameter in the packet. If the parameter collection contains a variable length parameter, this method will fail.

Returns
Length in bytes.
Exceptions
TrekError15017 - TREK_DATA_FIXED_LENGTH_REQUIRED

Reimplemented from PacketItem.

◆ get_maximum_length_in_bits()

() -> int

Returns the maximum length of the RandomPacketCollection in bits.

If the RandomPacketCollection has variable length data, the actual length may be less than the returned value.

Returns
Maximum length in bits.

Reimplemented from PacketItem.

◆ get_number_of_packets()

() -> int

Returns the number of packets currently in the collection.

Returns
Number of packets in the collection.

◆ get_parameter_list()

(full_name : bool  
mod_only : bool  
) -> list[str]

Returns a list of all parameters within a collection.

Parameters
[in]full_nameTrue, indicates to return parameter fully qualified names.
[in]mod_onlyIndicates if the returned data should be limited to modifiable parameters.
Returns
list[str] containing of all parameters within a collection.

Reimplemented from PacketItem.

◆ get_sorted_parameter_list()

(full_name : bool  
mod_only : bool  
) -> list[str]

Returns a sorted list of all parameters within a collection by their start location.

Parameters
[in]full_nameTrue, indicates to return parameter fully qualified names.
[in]mod_onlyIndicates if the returned data should be limited to modifiable parameters.
Returns
list[str] containing of all parameters sorted by start location.

Reimplemented from PacketItem.

◆ has_modifiable_data()

(data_zone_only : bool  ) -> bool

Determines if any of the parameters are modifiable.

Parameters
[in]data_zone_onlyCurrently ignored (default value).
Returns
True if it contains at least one modifiable parameter.

Reimplemented from PacketItem.

◆ has_variable_length_data()

() -> bool

Determines if the random packet collection has any variable length data.

Returns
True, since which packets will be available is unknown.

Reimplemented from PacketItem.

◆ initialize()

() -> None

Initializes the object.

Clears any set values in the RandomPacketCollection. New instances do not need to be initialized.

Reimplemented from NamedItem.

◆ is_complete()

() -> bool

Determines if all parameters have a value.

Returns
If all parameters have a value.

Reimplemented from PacketItem.

◆ is_modifiable()

(top_level : bool  ) -> bool

Determines if any data is modifiable.

Parameters
[in]top_levelDesignates that this is a top level packet.
Returns
False, RandomPacketCollection's are not modifiable.

Reimplemented from PacketItem.

◆ load_file()

(filename : str ) -> None

Loads the RandomPacketCollection definition from the specified file.

Reads an XML RandomPacketCollection.

Parameters
[in]filenameThe file from which to load the RandomPacketCollection object.

◆ remove_packet()

(pack_name : str ) -> None

Removes the specified Packet from the collection.

Parameters
[in]pack_nameThe name of the packet to remove.
Exceptions
TrekError15007 - TREK_DATA_DOES_NOT_EXIST

◆ save_file()

(filename : str ) -> None

Saves the RandomPacketCollection definition to the specified file.

Writes an XML RandomPacketCollection.

Parameters
[in]filenameThe file to save the random packet collection object.