#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().
 1.5.5