pacman.model.routing_tables package

Module contents

class pacman.model.routing_tables.AbstractMulticastRoutingTable[source]

Bases: object

abstract property multicast_routing_entries

The multicast routing entries in the table.

Return type:

iterable(MulticastRoutingEntry)

abstract property number_of_defaultable_entries

The number of multicast routing entries that are set to be defaultable within this multicast routing table.

Return type:

int

abstract property number_of_entries

The number of multicast routing entries there are in the multicast routing table.

Return type:

int

abstract property x

The X-coordinate of the chip of this table.

Return type:

int

abstract property y

The Y-coordinate of the chip of this table.

Return type:

int

class pacman.model.routing_tables.CompressedMulticastRoutingTable(x, y, multicast_routing_entries=None)[source]

Bases: AbstractMulticastRoutingTable

Represents a compressed routing table for a chip.

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)[source]

Adds a routing entry to this table.

Parameters:

multicast_routing_entry (MulticastRoutingEntry) – The route to add

Raises:

pacman.exceptions.PacmanAlreadyExistsException – If a routing entry with the same key-mask combination already exists

property multicast_routing_entries

The multicast routing entries in the table.

Return type:

iterable(MulticastRoutingEntry)

property number_of_defaultable_entries

The number of multicast routing entries that are set to be defaultable within this multicast routing table.

Return type:

int

property number_of_entries

The number of multicast routing entries there are in the multicast routing table.

Return type:

int

property x

The X-coordinate of the chip of this table.

Return type:

int

property y

The Y-coordinate of the chip of this table.

Return type:

int

class pacman.model.routing_tables.MulticastRoutingTables(routing_tables=None)[source]

Bases: object

Represents the multicast routing tables for a number of chips.

Parameters:

routing_tables (iterable(MulticastRoutingTable)) – The routing tables to add

Raises:

PacmanAlreadyExistsException – If any two routing tables are for the same chip

add_routing_table(routing_table)[source]

Add a routing table.

Parameters:

routing_table (MulticastRoutingTable) – a routing table to add

Raises:

PacmanAlreadyExistsException – If a routing table already exists for the chip

get_routing_table_for_chip(x, y)[source]

Get a routing table for a particular chip.

Parameters:
  • x (int) – The X-coordinate of the chip

  • y (int) – The Y-coordinate of the chip

Returns:

The routing table, or None if no such table exists

Return type:

MulticastRoutingTable or None

property max_number_of_entries

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:

int

property routing_tables

The routing tables stored within.

Returns:

an iterable of routing tables

Return type:

iterable(MulticastRoutingTable)

class pacman.model.routing_tables.UnCompressedMulticastRoutingTable(x, y, multicast_routing_entries=None)[source]

Bases: AbstractMulticastRoutingTable

Represents a uncompressed routing table for a chip.

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)[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

The multicast routing entries in the table.

Return type:

iterable(MulticastRoutingEntry)

property number_of_defaultable_entries

The number of multicast routing entries that are set to be defaultable within this multicast routing table.

Return type:

int

property number_of_entries

The number of multicast routing entries there are in the multicast routing table.

Return type:

int

property x

The X-coordinate of the chip of this table.

Return type:

int

property y

The Y-coordinate of the chip of this table.

Return type:

int