The messaging namespace implements interfaces for accessing messages. The message contains data sent and received by the backend objects, as well as data sent by the objects identified by UID. Message exchange is provided by the MessageBus message bus.
Each message has the following attributes:
MessageHeader—message header containing the following information:
sender_uid_—ID of the object that sends the message.
send_time_—the time when the message was sent.
The message body, consisting of the set of transmitted attributes. The set of the transmitted attributes depends on the message type.
Messages are used to update user structures and synchronize changes on the backend. The table below contains a description of the supported backend message types.
Message structures
Message type
Description
Message structure
SpikeMessage
A message from a neuron population to a synapse projection containing a spike. More than one projection can be subscribed to the messages containing spikes.
Short-term action potential generated by a neuron in a population as a result of the neuron attribute changes.
header_—message header containing the UID of the population whose neurons generated the spikes and the time when the spikes were generated.
neuron_indexes_—indices of the neurons in the population that generated spikes. Neuron indices are unique within a population.
SynapticImpactMessage
A message from a synapse projection to the neuron population containing synaptic impact.
A value generated by a synapse for changing the values of the neuron attributes.
header_—message header containing the projection UID and the time when the message was sent.
postsynaptic_population_uid_—UID of the postsynaptic population.
Presynaptic_population_uid_—UID of the presynaptic population.
is_forcing_—boolean value indicating the use of plasticity in the synapse projection. If the synapse projection uses synaptic plasticity, the attribute is true, otherwise it is false.
impacts_—vector containing the following attributes:
connection_index_—connection index.
impact_value_—synaptic impact value.
synapse_type_—type of synapse.
presynaptic_neuron_index_—index of the presynaptic neuron from which the spike was received by the projection synapse. The neuron index is unique within the population.
postsynaptic_neuron_index_—postsynaptic neuron index. The value of the synaptic impact is sent to this neuron to change the values of its attributes. The neuron index is unique within the population.
The impacts_ vector may contain more than one set of the listed attributes to convey synaptic impacts to multiple neurons in the same population.