pacman.model.routing_tables package¶
Module contents¶
- class pacman.model.routing_tables.AbstractMulticastRoutingTable¶
Bases:
object
A multicast routing table. May be compressed or uncompressed.
- abstract add_multicast_routing_entry(multicast_routing_entry: MulticastRoutingEntry)[source]¶
Adds a routing entry to this table.
- Parameters:
multicast_routing_entry (MulticastRoutingEntry) – The route to add
- Raises:
PacmanAlreadyExistsException – If a routing entry with the same key-mask combination already exists
- abstract property multicast_routing_entries: Collection[MulticastRoutingEntry]¶
The multicast routing entries in the table.
- Return type:
iterable(MulticastRoutingEntry)
- abstract property number_of_defaultable_entries: int¶
The number of multicast routing entries that are set to be defaultable within this multicast routing table.
- Return type:
- class pacman.model.routing_tables.CompressedMulticastRoutingTable(x: int, y: int, multicast_routing_entries: Iterable[MulticastRoutingEntry] = ())¶
Bases:
AbstractMulticastRoutingTable
Represents a compressed routing table for a chip. Compressed tables have a maximum size, ensuring that they fit in the hardware available.
- Parameters:
x (int) – The x-coordinate of the chip for which this is the routing table
y (int) – The y-coordinate of the chip for which this is the routing tables
multicast_routing_entries (iterable(MulticastRoutingEntry)) – The routing entries to add to the table
- Raises:
pacman.exceptions.PacmanAlreadyExistsException – If any two routing entries contain the same key-mask combination
- add_multicast_routing_entry(multicast_routing_entry: MulticastRoutingEntry)[source]¶
Adds a routing entry to this table.
- Parameters:
multicast_routing_entry (MulticastRoutingEntry) – The route to add
- Raises:
PacmanAlreadyExistsException – If a routing entry with the same key-mask combination already exists
- property multicast_routing_entries: Collection[MulticastRoutingEntry]¶
The multicast routing entries in the table.
- Return type:
iterable(MulticastRoutingEntry)
- property number_of_defaultable_entries: int¶
The number of multicast routing entries that are set to be defaultable within this multicast routing table.
- Return type:
- class pacman.model.routing_tables.MulticastRoutingTables(routing_tables: Iterable[AbstractMulticastRoutingTable] = ())¶
Bases:
object
Represents the multicast routing tables for a number of chips.
Note
The tables in an instance of this class should be either all uncompressed tables, or all compressed tables.
- Parameters:
routing_tables (iterable(AbstractMulticastRoutingTable)) – The routing tables to add
- Raises:
PacmanAlreadyExistsException – If any two routing tables are for the same chip
- add_routing_table(routing_table: AbstractMulticastRoutingTable)[source]¶
Add a routing table.
- Parameters:
routing_table (AbstractMulticastRoutingTable) – a routing table to add
- Raises:
PacmanAlreadyExistsException – If a routing table already exists for the chip
- get_max_number_of_entries() int [source]¶
The maximum number of multicast routing entries there are in any multicast routing table.
Will return zero if there are no routing tables
- Return type:
- get_routing_table_for_chip(x: int, y: int) AbstractMulticastRoutingTable | None [source]¶
Get a routing table for a particular chip.
- Parameters:
- Returns:
The routing table, or None if no such table exists
- Return type:
AbstractMulticastRoutingTable or None
- get_total_number_of_entries() int [source]¶
The total number of multicast routing entries there are in all multicast routing table.
Will return zero if there are no routing tables
- Return type:
- property routing_tables: Collection[AbstractMulticastRoutingTable]¶
The routing tables stored within.
- Returns:
an iterable of routing tables
- Return type:
iterable(AbstractMulticastRoutingTable)
- class pacman.model.routing_tables.UnCompressedMulticastRoutingTable(x: int, y: int, multicast_routing_entries: Iterable[MulticastRoutingEntry] = ())¶
Bases:
AbstractMulticastRoutingTable
Represents a uncompressed routing table for a chip. Uncompressed tables have no maximum size, but may not be deployable to hardware without being compressed.
- Parameters:
x (int) – The x-coordinate of the chip for which this is the routing table
y (int) – The y-coordinate of the chip for which this is the routing tables
multicast_routing_entries (iterable(MulticastRoutingEntry)) – The routing entries to add to the table
- Raises:
PacmanAlreadyExistsException – If any two routing entries contain the same key-mask combination
- add_multicast_routing_entry(multicast_routing_entry: MulticastRoutingEntry)[source]¶
Adds a routing entry to this table.
- Parameters:
multicast_routing_entry (MulticastRoutingEntry) – The route to add
- Raises:
PacmanAlreadyExistsException – If a routing entry with the same key-mask combination already exists
- property multicast_routing_entries: Collection[MulticastRoutingEntry]¶
The multicast routing entries in the table.
- Return type:
iterable(MulticastRoutingEntry)
- property number_of_defaultable_entries: int¶
The number of multicast routing entries that are set to be defaultable within this multicast routing table.
- Return type: