Basic network class that handles creating and connecting NEVESIM objects. More...
#include <EvSimNetwork.h>
Public Member Functions | |
EvSimNetwork (SimParameters sim_params=SimParameters()) | |
EvSimObject::ID | create (const EvSimObjectFactory &obj_factory) |
Creates a new object and places it in the network. | |
EvSimObject::ID | add (EvSimObject *obj) |
Adds the object in to the network. | |
EvSimObject::IDVector | create (const EvSimObjectFactory &obj_factory, unsigned n) |
Creates multiple objects and places them in the network. | |
void | connect (EvSimObject::ID src, port_id_t src_port, EvSimObject::ID dest, port_id_t dest_port, Time delay=0) |
void | causalUpdateLink (EvSimObject::ID src, EvSimObject::ID dest, update_id_t update_id=0) |
Creates a causal update link between object src and object dest. | |
void | mount (EvSimObject::ID obj_id, EvSimObject::ID mountpoint) |
EvSimObject::ID | mount (const EvSimObjectFactory &obj_factory, EvSimObject::ID mountpoint) |
EvSimObject::ID | record (EvSimObject::ID id, const string &var_name) |
EvSimObject::ID | record (EvSimObject::ID id, const string &var_name, EvSimObject::ID clock_id) |
EvSimObject::ID | record (EvSimObject::ID id, port_id_t port_id=0) |
EvSimObject::IDVector | record (EvSimObject::IDVector id_vec, const string &var_name) |
EvSimObject::IDVector | record (EvSimObject::IDVector id_vec, const string &var_name, EvSimObject::ID clock_id) |
EvSimObject::IDVector | record (EvSimObject::IDVector id_vec, port_id_t port_id=0) |
void | setParams (SimParameters sim_params) |
EvSimObject * | getObject (EvSimObject::ID oid) const |
Time | getCurrentSimTime () |
void | advance (Time sim_time) |
void | simulate (Time sim_time) |
void | init () |
void | reset () |
void | setVariables (EvSimObject::IDVector id_vec, const string &var_name, const std::vector< double > &values) |
std::vector< double > | getVariables (EvSimObject::IDVector id_vec, const string &var_name) const |
void | connect (EvSimObject::IDVector src, port_id_t src_port, EvSimObject::IDVector dest, port_id_t dest_port, Time delay=0) |
Protected Member Functions | |
void | registerOutPorts (EvSimObject *obj) |
Protected Attributes | |
EvSimEngine * | simengine |
UpdateLinksMap | upd_links_map |
EvSimObjectPool | obj_pool |
RoutingDelayMap | delay_map |
EventTargetGroupPool | etg_pool |
EvSimObject::ID | default_sim_clock_id |
SimParameters | sim_params |
bool | isInitialized |
bool | isReset |
Friends | |
class | EvSimEngine |
Basic network class that handles creating and connecting NEVESIM objects.
Creates object, like neurons and synapses, places them in the network and connects them.
void EvSimNetwork::connect | ( | EvSimObject::ID | src, | |
port_id_t | src_port, | |||
EvSimObject::ID | dest, | |||
port_id_t | dest_port, | |||
Time | delay = 0 | |||
) |
Connects am output port of object src to an input port of object dest
src | The object ID of the source object | |
src_port | The output port of the source object | |
dest | The object ID of the destination object | |
dest_port | The input port of the destination object | |
delay |
EvSimObject::ID EvSimNetwork::create | ( | const EvSimObjectFactory & | obj_factory | ) |
Creates a new object and places it in the network.
The EvSimObjectFactory::create() function is used to create the object.