#include <SpikeScheduler.h>
Public Member Functions | |
virtual | ~SpikeScheduler () |
Constructor. | |
virtual void | scheduleSpike (local_objectid_t senderid, float offsetFraction, engineid_t engine=0)=0 |
Function to be called if an object wants to send a spike. | |
virtual void | deliverSpikes (SpikeReceiverList &listActiveSynapses, engineid_t engine, double time, int stepOffset=0)=0 |
Function to be called to deliver all incoming spikes to their corresponding targets. | |
virtual void | reset ()=0 |
Must be called if simulation is reset. | |
virtual void | advance (engineid_t engine=0)=0 |
Inform the spike scheduler that the engine has moved to the next timestep. | |
virtual void | nextCycle ()=0 |
Inform the spike scheduler that the engine has moved to the next cycle (several steps = minDelay). |
Definition at line 8 of file SpikeScheduler.h.
virtual SpikeScheduler::~SpikeScheduler | ( | ) | [inline, virtual] |
virtual void SpikeScheduler::scheduleSpike | ( | local_objectid_t | senderid, | |
float | offsetFraction, | |||
engineid_t | engine = 0 | |||
) | [pure virtual] |
Function to be called if an object wants to send a spike.
senderid | engine local ID of the spike generating sim element | |
offsetFraction | fraction of the time step at which the spike occured. | |
engine | node local ID of the calling simulation engine |
Implemented in DistributedSpikeScheduler, MultiThreadSpikeScheduler, and SingleThreadSpikeScheduler.
Referenced by DistributedSpikeScheduler::scheduleSpike(), and SpikeOutputPort::setSpikeByOffsetFraction().
virtual void SpikeScheduler::deliverSpikes | ( | SpikeReceiverList & | listActiveSynapses, | |
engineid_t | engine, | |||
double | time, | |||
int | stepOffset = 0 | |||
) | [pure virtual] |
Function to be called to deliver all incoming spikes to their corresponding targets.
listActiveSynapses | If a call to the spike handler function returns true the corresponding object is appended to this list. | |
engine | ID of the calling engine | |
time | The current simulation time | |
stepOffset | Actually the spikes scheduled for currentStep + stepOffset are delivered |
Implemented in DistributedSpikeScheduler, MultiThreadSpikeScheduler, and SingleThreadSpikeScheduler.
Referenced by SingleThreadSimEngine::advance(), and DistributedSpikeScheduler::deliverSpikes().
virtual void SpikeScheduler::reset | ( | ) | [pure virtual] |
Must be called if simulation is reset.
maxDelay | Maximum synaptic delay (in time steps) which the spike scheduler can handle during the following simulation | |
minDelay | Minimum synaptic delay (in time steps) |
Implemented in DistributedSpikeScheduler, MultiThreadSpikeScheduler, and SingleThreadSpikeScheduler.
Referenced by DistributedSpikeScheduler::reset().
virtual void SpikeScheduler::advance | ( | engineid_t | engine = 0 |
) | [pure virtual] |
Inform the spike scheduler that the engine has moved to the next timestep.
Implemented in DistributedSpikeScheduler, MultiThreadSpikeScheduler, and SingleThreadSpikeScheduler.
Referenced by SingleThreadSimEngine::advance(), and DistributedSpikeScheduler::advance().
virtual void SpikeScheduler::nextCycle | ( | ) | [pure virtual] |
Inform the spike scheduler that the engine has moved to the next cycle (several steps = minDelay).
Implemented in DistributedSpikeScheduler, MultiThreadSpikeScheduler, and SingleThreadSpikeScheduler.
Referenced by SingleThreadSimEngine::advanceOneFullCycle(), MultiThreadSimEngine::finalizeCycle(), and DistributedSpikeScheduler::nextCycle().