* @param bw_trace The trace associated to the Link bandwidth
* @param lat_initial The initial latency of the Link in seconds
* @param lat_trace The trace associated to the Link latency
- * @param state_initial The initial Link (state)[e_surf_resource_state_t]
+ * @param initiallyOn The initial Link (state)[e_surf_resource_state_t]
* @param state_trace The trace associated to the Link (state)[e_surf_resource_state_t]
* @param policy The sharing policy of the Link
* @param properties Dictionary of properties associated to this Resource
* @param name The name of the Link
* @param props Dictionary of properties associated to this Link
* @param constraint The lmm constraint associated to this Cpu if it is part of a LMM component
- * @param history [TODO]
+ * @param fes Future Event Set in which our events must be registered
* @param state_trace [TODO]
*/
Link(simgrid::surf::NetworkModel *model, const char *name, xbt_dict_t props,
lmm_constraint_t constraint,
- tmgr_history_t history,
+ sg_future_evt_set_t fes,
tmgr_trace_t state_trace);
/* Link destruction logic */
* Signature: void(Link*) */
static simgrid::xbt::signal<void(simgrid::surf::Link*)> onDestruction;
- /** @brief Callback signal fired when the state of a Link changes
- * Signature: `void(LinkAction *action, int previouslyOn, int currentlyOn)` */
- static simgrid::xbt::signal<void(simgrid::surf::Link*, int, int)> onStateChange;
+ /** @brief Callback signal fired when the state of a Link changes (when it is turned on or off)
+ * Signature: `void(Link*)` */
+ static simgrid::xbt::signal<void(simgrid::surf::Link*)> onStateChange;
/** @brief Get the bandwidth in bytes per second of current Link */
/** @brief Update the latency in seconds of current Link */
virtual void updateLatency(double value, double date=surf_get_clock())=0;
- /** @brief The sharing policy is a @{link #e_surf_link_sharing_policy_t} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX) */
+ /** @brief The sharing policy is a @{link e_surf_link_sharing_policy_t::EType} (0: FATPIPE, 1: SHARED, 2: FULLDUPLEX) */
virtual int sharingPolicy();
/** @brief Check if the Link is used */
/* Using this object with the public part of
model does not make sense */
double m_latCurrent = 0;
- tmgr_trace_event_t p_latEvent = NULL;
+ tmgr_trace_iterator_t p_latEvent = NULL;
/* LMM */
- tmgr_trace_event_t p_stateEvent = NULL;
+ tmgr_trace_iterator_t p_stateEvent = NULL;
s_surf_metric_t p_speed;
/* User data */
static boost::unordered_map<std::string, Link *> *links;
public:
static Link *byName(const char* name);
- static int linksAmount();
+ static int linksCount();
static Link **linksList();
static void linksExit();
};