#include <SharedResource.h>
|
void | updateChannelWeightsInTopology (cTopology *&topo, std::optional< const cModule *const > rd_module) |
| Initialize channel weights for all existing links in the Topology.
|
|
void | updateChannelWeightsOfNode (cTopology::Node *node, std::optional< const cModule *const > rd_module) |
|
double | calculateSecPerBellPair (const cModule *const rd_module, const cTopology::LinkOut *const outgoing_link) |
|
void | setWeightOfLink (cTopology::LinkOut *link, double weight, bool should_set_quantum_channel) |
|
◆ SharedResource()
quisp::modules::SharedResource::SharedResource::SharedResource |
( |
| ) |
|
◆ ~SharedResource()
quisp::modules::SharedResource::SharedResource::~SharedResource |
( |
| ) |
|
◆ calculateSecPerBellPair()
double quisp::modules::SharedResource::SharedResource::calculateSecPerBellPair |
( |
const cModule *const | rd_module, |
|
|
const cTopology::LinkOut *const | outgoing_link ) |
|
private |
◆ finish()
void quisp::modules::SharedResource::SharedResource::finish |
( |
| ) |
|
|
override |
◆ getEndNodeWeightMapForApplication()
const std::unordered_map< int, int > quisp::modules::SharedResource::SharedResource::getEndNodeWeightMapForApplication |
( |
const char *const | node_type | ) |
|
◆ getTopologyForRouter()
cTopology * quisp::modules::SharedResource::SharedResource::getTopologyForRouter |
( |
| ) |
|
◆ getTopologyForRoutingDaemon()
cTopology * quisp::modules::SharedResource::SharedResource::getTopologyForRoutingDaemon |
( |
const cModule *const | rd_module | ) |
|
◆ initialize()
void quisp::modules::SharedResource::SharedResource::initialize |
( |
| ) |
|
|
override |
◆ setWeightOfLink()
void quisp::modules::SharedResource::SharedResource::setWeightOfLink |
( |
cTopology::LinkOut * | link, |
|
|
double | weight, |
|
|
bool | should_set_quantum_link ) |
|
private |
- Parameters
-
link | |
weight | |
should_set_quantum_link | If should_set_quantum_link is true, the function will set quantum links to the value of weight (RoutingDaemon sets quantum links). If should_set_quantum_link is false, the function will set any other links to the value of weight (Router sets classical links). |
◆ updateChannelWeightsInTopology()
void quisp::modules::SharedResource::SharedResource::updateChannelWeightsInTopology |
( |
cTopology *& | topo, |
|
|
std::optional< const cModule *const > | rd_module ) |
|
private |
Initialize channel weights for all existing links in the Topology.
- Parameters
-
topo | router_topology or routingdaemon_topology |
rd_module | rd_module is needed for the function to distinguish between Router and RoutingDaemon, as they require different procedures to initialize cTopology. In detail, RoutingDaemon must call calculateSecPerBellPair function to update the channel weights, and calculateSecPerBellPair function requires the rd_module. |
◆ updateChannelWeightsOfNode()
void quisp::modules::SharedResource::SharedResource::updateChannelWeightsOfNode |
( |
cTopology::Node * | node, |
|
|
std::optional< const cModule *const > | rd_module ) |
|
private |
◆ app_init_flag
std::once_flag quisp::modules::SharedResource::SharedResource::app_init_flag {} |
|
private |
◆ end_node_weight_map
std::unordered_map<int, int> quisp::modules::SharedResource::SharedResource::end_node_weight_map |
|
private |
◆ rd_init_flag
std::once_flag quisp::modules::SharedResource::SharedResource::rd_init_flag {} |
|
private |
◆ router_init_flag
std::once_flag quisp::modules::SharedResource::SharedResource::router_init_flag {} |
|
private |
◆ router_topology
cTopology* quisp::modules::SharedResource::SharedResource::router_topology = nullptr |
|
private |
◆ routingdaemon_topology
cTopology* quisp::modules::SharedResource::SharedResource::routingdaemon_topology = nullptr |
|
private |
The documentation for this class was generated from the following files: