![]() |
Q2NS dev
ns-3 module
|
#include <q2ns-swap-helper.h>
Public Member Functions | |
| EntanglementSwapHelper & | SetNetController (NetController *nc) |
| EntanglementSwapHelper & | SetPortBase (uint16_t base) |
| EntanglementSwapHelper & | SetPolicy (std::unique_ptr< ISwapPolicy > policy) |
| EntanglementSwapHelper & | SetNodes (const std::map< std::string, ns3::Ptr< q2ns::QNode > > &nodes) |
| void | Install (const SwapTopologySpec &spec, const ns3::ClassicalNetworkBuilder::NetworkHandle &net, bool useIpv6, uint32_t ctrlPayloadBytes=16) |
Private Member Functions | |
| uint16_t | AllocatePort (uint64_t sessionId) const |
| void | BindAppsOnProvidedNodes (const SwapTopologySpec &spec) |
| void | BuildQuantum (const SwapTopologySpec &spec) |
| void | InstallUnifiedApps (const SwapTopologySpec &spec, const std::vector< SwapSessionSpec > &planned, const ns3::ClassicalNetworkBuilder::NetworkHandle &net, bool useIpv6, uint32_t ctrlPayloadBytes) |
Private Attributes | |
| uint16_t | m_portBase {7000} |
| NetController * | m_nc {nullptr} |
| std::unique_ptr< ISwapPolicy > | m_policy |
| std::unordered_map< std::string, ns3::Ptr< q2ns::QNode > > | m_name2node |
| std::unordered_map< std::string, ns3::Ptr< SwapApp > > | m_appByNode |
Definition at line 91 of file q2ns-swap-helper.h.
|
private |
Definition at line 92 of file q2ns-swap-helper.cc.
References m_portBase.
Referenced by InstallUnifiedApps().
|
private |
Definition at line 108 of file q2ns-swap-helper.cc.
References m_appByNode, m_name2node, m_nc, and q2ns::SwapTopologySpec::nodes.
Referenced by Install().
|
private |
Definition at line 128 of file q2ns-swap-helper.cc.
References q2ns::NetController::InstallQuantumLink(), m_name2node, m_nc, and q2ns::SwapTopologySpec::quantumEdges.
Referenced by Install().
| void q2ns::EntanglementSwapHelper::Install | ( | const SwapTopologySpec & | spec, |
| const ns3::ClassicalNetworkBuilder::NetworkHandle & | net, | ||
| bool | useIpv6, | ||
| uint32_t | ctrlPayloadBytes = 16 |
||
| ) |
Definition at line 69 of file q2ns-swap-helper.cc.
References BindAppsOnProvidedNodes(), BuildQuantum(), InstallUnifiedApps(), m_nc, m_policy, and q2ns::ISwapPolicy::PlanSessions().
|
private |
Definition at line 141 of file q2ns-swap-helper.cc.
References AllocatePort(), m_appByNode, m_name2node, q2ns::SwapApp::Next, ns3::ClassicalNetworkBuilder::NetworkHandle::nodes, q2ns::SwapApp::Prev, q2ns::SwapApp::Repeater, and q2ns::SwapApp::SessionConfig::sid.
Referenced by Install().
| EntanglementSwapHelper & q2ns::EntanglementSwapHelper::SetNetController | ( | NetController * | nc | ) |
Definition at line 55 of file q2ns-swap-helper.cc.
References m_nc.
| EntanglementSwapHelper & q2ns::EntanglementSwapHelper::SetNodes | ( | const std::map< std::string, ns3::Ptr< q2ns::QNode > > & | nodes | ) |
Definition at line 100 of file q2ns-swap-helper.cc.
References m_name2node.
| EntanglementSwapHelper & q2ns::EntanglementSwapHelper::SetPolicy | ( | std::unique_ptr< ISwapPolicy > | policy | ) |
Definition at line 63 of file q2ns-swap-helper.cc.
References m_policy.
| EntanglementSwapHelper & q2ns::EntanglementSwapHelper::SetPortBase | ( | uint16_t | base | ) |
Definition at line 59 of file q2ns-swap-helper.cc.
References m_portBase.
|
private |
Definition at line 106 of file q2ns-swap-helper.h.
Referenced by BindAppsOnProvidedNodes(), and InstallUnifiedApps().
|
private |
Definition at line 105 of file q2ns-swap-helper.h.
Referenced by BindAppsOnProvidedNodes(), BuildQuantum(), InstallUnifiedApps(), and SetNodes().
|
private |
Definition at line 103 of file q2ns-swap-helper.h.
Referenced by BindAppsOnProvidedNodes(), BuildQuantum(), Install(), and SetNetController().
|
private |
Definition at line 104 of file q2ns-swap-helper.h.
Referenced by Install(), and SetPolicy().
|
private |
Definition at line 102 of file q2ns-swap-helper.h.
Referenced by AllocatePort(), and SetPortBase().