GlobalSingleTargetDelayMap Class Reference

#include <GlobalSingleTargetDelayMap.h>

Collaboration diagram for GlobalSingleTargetDelayMap:

Collaboration graph
[legend]

List of all members.

Public Types

typedef map< delaystep_t,
spikegroupid_t
delaymaptype
typedef
delaymaptype::const_iterator 
const_iterator
 Iterator type which can be used to iterate through (delay, spike_target_group) pairs stored in the map.

Public Member Functions

 GlobalSingleTargetDelayMap ()
virtual ~GlobalSingleTargetDelayMap ()
void insert (gl_engineid_t eng, local_objectid_t oid, delaystep_t delay, spikegroupid_t stg)
 Inserts new entry in the map [gleng][localid]->(delay,spiketargetgroup).
spikegroupid_t find (gl_engineid_t eng, local_objectid_t oid, delaystep_t delay)
 Checks if there is an entry for the specified sending object and the delay.
bool hasDelays (gl_engineid_t eng, local_objectid_t oid)
 Checks if for the specified source there are any (delay, stg) pairs.
const_iterator beginDelays (gl_engineid_t eng, local_objectid_t oid)
 Returns a begin iterator which can serve to iterate through all (delay, stg) pairs.
const_iterator endDelays (gl_engineid_t eng, local_objectid_t oid)
 Returns an end iterator which can serve to iterate through all (delay, stg) pairs.

Protected Attributes

vector< hash_map
< local_objectid_t,
delaymaptype > > 
_map


Detailed Description

Spike routing table for proper scheduling of inter-node spikes in spike buffers.

The delay map data structure associates spike sending objects with delays and corresponding spike target groups. Used for scheduling of spikes coming from other nodes (global), in the case when there is only one single thread engine on the local node (single target).

Sending objects are identified their global engine ID and localid. The spike destinations are stored as (delay, spike_target_group) pairs.

See also:
DistributedSpikeScheduler

Definition at line 25 of file GlobalSingleTargetDelayMap.h.


Member Typedef Documentation

Definition at line 29 of file GlobalSingleTargetDelayMap.h.

typedef delaymaptype::const_iterator GlobalSingleTargetDelayMap::const_iterator

Iterator type which can be used to iterate through (delay, spike_target_group) pairs stored in the map.

Definition at line 32 of file GlobalSingleTargetDelayMap.h.


Constructor & Destructor Documentation

GlobalSingleTargetDelayMap::GlobalSingleTargetDelayMap (  ) 

Definition at line 7 of file GlobalSingleTargetDelayMap.cpp.

GlobalSingleTargetDelayMap::~GlobalSingleTargetDelayMap (  )  [virtual]

Definition at line 10 of file GlobalSingleTargetDelayMap.cpp.


Member Function Documentation

void GlobalSingleTargetDelayMap::insert ( gl_engineid_t  eng,
local_objectid_t  oid,
delaystep_t  delay,
spikegroupid_t  stg 
)

Inserts new entry in the map [gleng][localid]->(delay,spiketargetgroup).

Definition at line 15 of file GlobalSingleTargetDelayMap.cpp.

References _map, and find().

Referenced by DistributedSingleThreadNetwork::_addSpikeMessage_().

Here is the call graph for this function:

spikegroupid_t GlobalSingleTargetDelayMap::find ( gl_engineid_t  eng,
local_objectid_t  oid,
delaystep_t  delay 
)

Checks if there is an entry for the specified sending object and the delay.

Returns:
the STG id if there is an entry, and no_spikegroup otherwise.

Definition at line 26 of file GlobalSingleTargetDelayMap.cpp.

References _map, and no_spikegroup.

Referenced by DistributedSingleThreadNetwork::_addSpikeMessage_(), hasDelays(), and insert().

bool GlobalSingleTargetDelayMap::hasDelays ( gl_engineid_t  eng,
local_objectid_t  oid 
)

Checks if for the specified source there are any (delay, stg) pairs.

Definition at line 39 of file GlobalSingleTargetDelayMap.cpp.

References _map, and find().

Referenced by STDistributedIncomingSpikeScheduler::processMPIInputSpikeBuffers().

Here is the call graph for this function:

GlobalSingleTargetDelayMap::const_iterator GlobalSingleTargetDelayMap::beginDelays ( gl_engineid_t  eng,
local_objectid_t  oid 
)

Returns a begin iterator which can serve to iterate through all (delay, stg) pairs.

Definition at line 49 of file GlobalSingleTargetDelayMap.cpp.

References _map.

Referenced by STDistributedIncomingSpikeScheduler::processMPIInputSpikeBuffers().

GlobalSingleTargetDelayMap::const_iterator GlobalSingleTargetDelayMap::endDelays ( gl_engineid_t  eng,
local_objectid_t  oid 
)

Returns an end iterator which can serve to iterate through all (delay, stg) pairs.

Definition at line 54 of file GlobalSingleTargetDelayMap.cpp.

References _map.

Referenced by STDistributedIncomingSpikeScheduler::processMPIInputSpikeBuffers().


Member Data Documentation

Definition at line 59 of file GlobalSingleTargetDelayMap.h.

Referenced by beginDelays(), endDelays(), find(), hasDelays(), and insert().


The documentation for this class was generated from the following files:

Generated on Wed Jul 9 16:34:50 2008 for PCSIM by  doxygen 1.5.5