spinn_front_end_common.utilities.connections package¶
Module contents¶
-
class
spinn_front_end_common.utilities.connections.
LiveEventConnection
(live_packet_gather_label, receive_labels=None, send_labels=None, local_host=None, local_port=19999, machine_vertices=False)[source]¶ Bases:
spinn_front_end_common.utilities.database.database_connection.DatabaseConnection
A connection for receiving and sending live events from and to SpiNNaker
Parameters: - live_packet_gather_label – The label of the LivePacketGather vertex to which received events are being sent
- receive_labels (iterable(str)) – Labels of vertices from which live events will be received.
- send_labels (iterable(str)) – Labels of vertices to which live events will be sent
- local_host (str) – Optional specification of the local hostname or IP address of the interface to listen on
- local_port (int) – Optional specification of the local port to listen on. Must match the port that the toolchain will send the notification on (19999 by default)
-
add_init_callback
(label, init_callback)[source]¶ Add a callback to be called to initialise a vertex
Parameters: - label (str) – The label of the vertex to be notified about. Must be one of the vertices listed in the constructor
- init_callback (function(str, int, float, float) -> None) – A function to be called to initialise the vertex. This should take as parameters the label of the vertex, the number of neurons in the population, the run time of the simulation in milliseconds, and the simulation timestep in milliseconds
-
add_pause_stop_callback
(label, pause_stop_callback)[source]¶ Add a callback for the pause and stop state of the simulation
Parameters: - label (str) – the label of the function to be sent
- pause_stop_callback (function(str,
SpynnakerLiveEventConnection
) -> None) – A function to be called when the pause or stop message has been received. This function should take the label of the referenced vertex, and an instance of this class, which can be used to send events.
Return type: None
-
add_receive_callback
(label, live_event_callback, translate_key=True)[source]¶ Add a callback for the reception of live events from a vertex
Parameters: - label (str) – The label of the vertex to be notified about. Must be one of the vertices listed in the constructor
- live_event_callback (function(str, int, list(int)) -> None) – A function to be called when events are received. This should take as parameters the label of the vertex, the simulation timestep when the event occurred, and an array-like of atom IDs.
- translate_key – True if the key is to be converted to an atom ID, False if the key should stay a key
-
add_start_callback
(label, start_callback)[source]¶ Add a callback for the start of the simulation
Parameters: - start_callback (function(str,
SpynnakerLiveEventConnection
) -> None) – A function to be called when the start message has been received. This function should take the label of the referenced vertex, and an instance of this class, which can be used to send events - label (str) – the label of the function to be sent
- start_callback (function(str,
-
add_start_resume_callback
(label, start_resume_callback)[source]¶ Add a callback for the start and resume state of the simulation
Parameters: - label (str) – the label of the function to be sent
- start_resume_callback (function(str,
SpynnakerLiveEventConnection
) -> None) – A function to be called when the start or resume message has been received. This function should take the label of the referenced vertex, and an instance of this class, which can be used to send events.
Return type: None
-
close
()[source]¶ Closes the connection
Returns: Nothing is returned Return type: None Raises: None – No known exceptions are raised
-
send_eieio_message
(message, label)[source]¶ Send an EIEIO message (using one-way the live input) to the vertex with the given label.
Parameters: - message – The EIEIO message to send
- label – The label of the receiver machine vertex
-
send_event
(label, atom_id, send_full_keys=False)[source]¶ Send an event from a single atom
Parameters: - label (str) – The label of the vertex from which the event will originate
- atom_id (int) – The ID of the atom sending the event
- send_full_keys (bool) – Determines whether to send full 32-bit keys, getting the key for each atom from the database, or whether to send 16-bit atom IDs directly
-
send_event_with_payload
(label, atom_id, payload)[source]¶ Send an event with a payload from a single atom
Parameters: - label (str) – The label of the vertex from which the event will originate
- atom_id (int) – The ID of the atom sending the event
- payload (int) – The payload to send
-
send_events
(label, atom_ids, send_full_keys=False)[source]¶ Send a number of events
Parameters: - label (str) – The label of the vertex from which the events will originate
- atom_ids (list(int)) – array-like of atom IDs sending events
- send_full_keys (bool) – Determines whether to send full 32-bit keys, getting the key for each atom from the database, or whether to send 16-bit atom IDs directly
-
send_events_with_payloads
(label, atom_ids_and_payloads)[source]¶ Send a number of events with payloads
Parameters: - label (str) – The label of the vertex from which the events will originate
- atom_ids_and_payloads (list((int, int))) – array-like of tuples of atom IDs sending events with their payloads