Spike routing table for scheduling of spikes within one engine. More...
#include <RoutingDelayMap.h>
Public Types | |
typedef map< delay_t, event_target_group_id_t > | delaymaptype |
typedef delaymaptype::const_iterator | const_iterator |
Public Member Functions | |
void | insert (global_out_port_id_t port_id, delay_t delay, event_target_group_id_t group) |
Inserts new entry in the map [out_port_id]->(delay,eventtargetgroup). | |
event_target_group_id_t | find (global_out_port_id_t port_id, delay_t delay) |
Checks if there is an entry for the specified sending object and the delay. | |
const_iterator | begin (global_out_port_id_t out_port_id) |
Returns a begin iterator which can serve to iterate through all (delay, stg) pairs. | |
const_iterator | end (global_out_port_id_t out_port_id) |
Returns an end iterator which can serve to iterate through all (delay, stg) pairs. | |
void | increaseTotalNumOutPorts (unsigned num_ports) |
unsigned | getTotalNumOutPorts () |
void | registerOutPorts (EvSimObject *obj) |
Protected Member Functions | |
void | resize (global_out_port_id_t out_port_id) |
Protected Attributes | |
vector< delaymaptype > | _map |
unsigned | totalNumOutPorts |
Spike routing table for scheduling of spikes within one engine.
For each spike sending object identified by id, the delay map stores many (delay, spike_target_group) pairs.
For a spiking connection with delay D between object A and object B which are in the same engine, an entry is added in the the map [A]->(D, STG) where the spike target group contains B. If there is already an entry [A]->(D, X) then B is added to X spike target group.
event_target_group_id_t RoutingDelayMap::find | ( | global_out_port_id_t | port_id, | |
delay_t | delay | |||
) |
Checks if there is an entry for the specified sending object and the delay.