NEST  2.6.0,not_revisioned_source_dir@0
Classes | Functions
Communication.

Functions and infrastructure, responsible for communication between Nodes. More...

Classes

class  nest::ConnTestDummyNodeBase
 Base class for dummy nodes used in connection testing. More...
 
class  nest::Event
 Encapsulates information which is sent between Nodes. More...
 

Functions

virtual port nest::Node::handles_test_event (SpikeEvent &, rport receptor_type)
 Check if the node can handle a particular event and receptor type. More...
 
virtual void nest::Node::handle (SpikeEvent &e)
 Handle incoming spike events. More...
 
virtual void nest::Node::handle (RateEvent &e)
 Handler for rate events. More...
 
virtual void nest::Node::handle (DataLoggingRequest &e)
 Handler for universal data logging request. More...
 
virtual void nest::Node::handle (DataLoggingReply &e)
 Handler for universal data logging request. More...
 
virtual void nest::Node::handle (CurrentEvent &e)
 Handler for current events. More...
 
virtual void nest::Node::handle (ConductanceEvent &e)
 Handler for conductance events. More...
 
virtual void nest::Node::handle (DoubleDataEvent &e)
 Handler for DoubleData events. More...
 

Detailed Description

Functions and infrastructure, responsible for communication between Nodes.

Nodes communicate by sending an receiving events. The communication interface consists of two parts:

  1. Functions to handle incoming events.
  2. Functions to check if a connection between nodes is possible.
See also
Event

Function Documentation

void nest::Node::handle ( SpikeEvent e)
virtual

Handle incoming spike events.

Default implementation of event handlers just throws an UnexpectedEvent exception.

Parameters
thrdId of the calling thread.
eEvent object.

This handler has to be implemented if a Node should accept spike events.

See also
class SpikeEvent
class UnexpectedEvent
Exceptions
UnexpectedEventThis is the default event to throw.

Reimplemented in nest::iaf_psc_delta_canon, nest::iaf_cond_alpha_mc, nest::iaf_psc_alpha_canon, nest::pp_pop_psc_delta, nest::pp_psc_delta, nest::amat2_psc_exp, nest::correlation_detector, nest::iaf_psc_exp_ps, nest::correlomatrix_detector, nest::mat2_psc_exp, nest::iaf_tum_2000, nest::aeif_cond_exp, nest::iaf_psc_alpha, nest::iaf_psc_delta, nest::hh_psc_alpha, nest::ht_neuron, nest::iaf_psc_alpha_presc, nest::iaf_neuron, nest::aeif_cond_alpha, nest::iaf_cond_alpha, nest::iaf_psc_exp, nest::iaf_cond_exp_sfa_rr, nest::iaf_chxk_2008, nest::hh_cond_exp_traub, nest::volume_transmitter, nest::aeif_cond_alpha_RK5, nest::spike_detector, nest::iaf_cond_exp, nest::spin_detector, nest::iaf_chs_2007, nest::izhikevich, nest::sli_neuron, nest::aeif_cond_alpha_multisynapse, nest::parrot_neuron, nest::music_event_in_proxy, nest::music_event_out_proxy, nest::parrot_neuron_ps, nest::iaf_psc_alpha_multisynapse, nest::iaf_psc_exp_multisynapse, nest::proxynode, nest::binary_neuron< TGainfunction >, and nest::relaxos_van_der_pol.

Referenced by nest::gamma_sup_generator::event_hook(), nest::poisson_generator_ps::event_hook(), nest::sinusoidal_poisson_generator::event_hook(), nest::ppd_sup_generator::event_hook(), nest::noise_generator::event_hook(), nest::poisson_generator::event_hook(), nest::mip_generator::event_hook(), nest::sinusoidal_gamma_generator::event_hook(), nest::spike_generator::event_hook(), nest::Node::event_hook(), nest::SpikeEvent::operator()(), nest::RateEvent::operator()(), nest::CurrentEvent::operator()(), nest::DataLoggingRequest::operator()(), nest::DataLoggingReply::operator()(), nest::ConductanceEvent::operator()(), and nest::DoubleDataEvent::operator()().

void nest::Node::handle ( RateEvent e)
virtual

Handler for rate events.

See also
handle(SpikeEvent&)
Exceptions
UnexpectedEvent
void nest::Node::handle ( DataLoggingRequest e)
virtual
void nest::Node::handle ( DataLoggingReply e)
virtual

Handler for universal data logging request.

See also
handle(SpikeEvent&)
Exceptions
UnexpectedEvent
Note
There is no connect_sender() for DataLoggingReply, since this event is only used as "back channel" for DataLoggingRequest.

Reimplemented in nest::Multimeter.

void nest::Node::handle ( CurrentEvent e)
virtual
void nest::Node::handle ( ConductanceEvent e)
virtual

Handler for conductance events.

See also
handle(thread, SpikeEvent&)
Exceptions
UnexpectedEvent
void nest::Node::handle ( DoubleDataEvent e)
virtual

Handler for DoubleData events.

See also
handle(thread, SpikeEvent&)
Exceptions
UnexpectedEvent
port nest::Node::handles_test_event ( SpikeEvent ,
rport  receptor_type 
)
virtual

Check if the node can handle a particular event and receptor type.

This function is called upon connection setup by send_test_event().

handles_test_event() function is used to verify that the receiver can handle the event. It can also be used by the receiver to return information to the sender in form of the returned port. The default implementation throws an IllegalConnection exception. Any node class should define handles_test_event() functions for all those event types it can handle.

See Kunkel et al, Front Neuroinform 8:78 (2014), Sec 3.

Note
The semantics of all other handles_test_event() functions is identical.
Exceptions
IllegalConnection

Reimplemented in nest::STDPFACETSHWConnectionHom< targetidentifierT >::ConnTestDummyNode, nest::STDPDopaConnection< targetidentifierT >::ConnTestDummyNode, nest::iaf_psc_delta_canon, nest::iaf_cond_alpha_mc, nest::pp_pop_psc_delta, nest::STDPConnectionHom< targetidentifierT >::ConnTestDummyNode, nest::pp_psc_delta, nest::iaf_psc_alpha_canon, nest::TsodyksConnection< targetidentifierT >::ConnTestDummyNode, nest::amat2_psc_exp, nest::correlation_detector, nest::correlomatrix_detector, nest::iaf_tum_2000, nest::aeif_cond_exp, nest::iaf_psc_alpha, nest::STDPPLConnectionHom< targetidentifierT >::ConnTestDummyNode, nest::iaf_psc_exp_ps, nest::iaf_psc_delta, nest::hh_psc_alpha, nest::ht_neuron, nest::iaf_psc_alpha_presc, nest::iaf_neuron, nest::aeif_cond_alpha, nest::mat2_psc_exp, nest::STDPConnection< targetidentifierT >::ConnTestDummyNode, nest::iaf_psc_exp, nest::Tsodyks2Connection< targetidentifierT >::ConnTestDummyNode, nest::iaf_cond_exp_sfa_rr, nest::iaf_cond_alpha, nest::Quantal_StpConnection< targetidentifierT >::ConnTestDummyNode, nest::hh_cond_exp_traub, nest::aeif_cond_alpha_RK5, nest::HTConnection< targetidentifierT >::ConnTestDummyNode, nest::iaf_chxk_2008, nest::volume_transmitter, nest::iaf_cond_exp, nest::spike_detector, nest::iaf_chs_2007, nest::spin_detector, nest::sli_neuron, nest::izhikevich, nest::aeif_cond_alpha_multisynapse, nest::ContDelayConnection< targetidentifierT >::ConnTestDummyNode, nest::parrot_neuron, nest::music_event_out_proxy, nest::parrot_neuron_ps, nest::StaticConnection< targetidentifierT >::ConnTestDummyNode, nest::iaf_psc_alpha_multisynapse, nest::StaticConnectionHomW< targetidentifierT >::ConnTestDummyNode, nest::iaf_psc_exp_multisynapse, nest::binary_neuron< TGainfunction >, and nest::relaxos_van_der_pol.

Referenced by nest::binary_neuron< TGainfunction >::send_test_event(), nest::iaf_psc_exp_multisynapse::send_test_event(), nest::ac_generator::send_test_event(), nest::step_current_generator::send_test_event(), nest::iaf_psc_alpha_multisynapse::send_test_event(), nest::dc_generator::send_test_event(), nest::pulsepacket_generator::send_test_event(), nest::gamma_sup_generator::send_test_event(), nest::poisson_generator_ps::send_test_event(), nest::sinusoidal_poisson_generator::send_test_event(), nest::parrot_neuron_ps::send_test_event(), nest::ppd_sup_generator::send_test_event(), nest::parrot_neuron::send_test_event(), nest::music_event_in_proxy::send_test_event(), nest::aeif_cond_alpha_multisynapse::send_test_event(), nest::sli_neuron::send_test_event(), nest::iaf_chs_2007::send_test_event(), nest::iaf_cond_exp::send_test_event(), nest::noise_generator::send_test_event(), nest::izhikevich::send_test_event(), nest::poisson_generator::send_test_event(), nest::aeif_cond_alpha_RK5::send_test_event(), nest::iaf_chxk_2008::send_test_event(), nest::mip_generator::send_test_event(), nest::hh_cond_exp_traub::send_test_event(), nest::sinusoidal_gamma_generator::send_test_event(), nest::iaf_cond_exp_sfa_rr::send_test_event(), nest::iaf_cond_alpha::send_test_event(), nest::iaf_psc_exp::send_test_event(), nest::aeif_cond_alpha::send_test_event(), nest::iaf_neuron::send_test_event(), nest::hh_psc_alpha::send_test_event(), nest::ht_neuron::send_test_event(), nest::iaf_psc_alpha_presc::send_test_event(), nest::iaf_psc_delta::send_test_event(), nest::mat2_psc_exp::send_test_event(), nest::iaf_psc_alpha::send_test_event(), nest::aeif_cond_exp::send_test_event(), nest::iaf_tum_2000::send_test_event(), nest::iaf_psc_exp_ps::send_test_event(), nest::amat2_psc_exp::send_test_event(), nest::pp_psc_delta::send_test_event(), nest::iaf_psc_alpha_canon::send_test_event(), nest::pp_pop_psc_delta::send_test_event(), nest::iaf_cond_alpha_mc::send_test_event(), nest::Multimeter::send_test_event(), nest::spike_generator::send_test_event(), and nest::iaf_psc_delta_canon::send_test_event().