Q2NS dev
ns-3 module
Loading...
Searching...
No Matches
q2ns::TeleportationHelper Class Reference

#include <q2ns-teleportation-helper.h>

Collaboration diagram for q2ns::TeleportationHelper:

Public Member Functions

TeleportationHelperUseBackend (std::string backend)
 
TeleportationHelperSetDefaultQueue (std::string max)
 
TeleportationHelperSetPortBase (uint16_t base)
 
TeleportationHelperSetNetController (NetController *nc)
 
TeleportationHelperSetTeleportState (const std::shared_ptr< q2ns::QState > &tpl)
 
void Install (const TopologySpec &spec)
 

Private Member Functions

uint16_t AllocatePort (uint64_t sessionId) const
 
void BuildNodes (const TopologySpec &spec)
 
void BuildClassical (const TopologySpec &spec)
 
void BuildQuantum (const TopologySpec &spec)
 
void InstallSessionApps (const TopologySpec &spec)
 

Private Attributes

uint16_t m_portBase {7000}
 
std::string m_defaultQueue {"128kB"}
 
std::string m_backend {"ket"}
 
q2ns::NetControllerm_nc {nullptr}
 
std::unordered_map< std::string, ns3::Ptr< ns3::Node > > m_name2node
 
std::shared_ptr< q2ns::QStatem_teleportState {nullptr}
 

Detailed Description

Definition at line 57 of file q2ns-teleportation-helper.h.

Member Function Documentation

◆ AllocatePort()

uint16_t q2ns::TeleportationHelper::AllocatePort ( uint64_t  sessionId) const
private

Definition at line 106 of file q2ns-teleportation-helper.cc.

References m_portBase.

Referenced by InstallSessionApps().

Here is the caller graph for this function:

◆ BuildClassical()

void q2ns::TeleportationHelper::BuildClassical ( const TopologySpec spec)
private

Definition at line 151 of file q2ns-teleportation-helper.cc.

References q2ns::TopologySpec::classicalEdges, m_defaultQueue, and m_name2node.

Referenced by Install().

Here is the caller graph for this function:

◆ BuildNodes()

void q2ns::TeleportationHelper::BuildNodes ( const TopologySpec spec)
private

Definition at line 113 of file q2ns-teleportation-helper.cc.

References q2ns::NetController::CreateNode(), m_name2node, m_nc, and q2ns::TopologySpec::nodes.

Referenced by Install().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BuildQuantum()

void q2ns::TeleportationHelper::BuildQuantum ( const TopologySpec spec)
private

Definition at line 201 of file q2ns-teleportation-helper.cc.

References q2ns::NetController::InstallQuantumLink(), m_name2node, m_nc, and q2ns::TopologySpec::quantumEdges.

Referenced by Install().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Install()

void q2ns::TeleportationHelper::Install ( const TopologySpec spec)

Definition at line 67 of file q2ns-teleportation-helper.cc.

References BuildClassical(), BuildNodes(), BuildQuantum(), InstallSessionApps(), m_name2node, m_nc, and m_teleportState.

Here is the call graph for this function:

◆ InstallSessionApps()

void q2ns::TeleportationHelper::InstallSessionApps ( const TopologySpec spec)
private

Definition at line 224 of file q2ns-teleportation-helper.cc.

References AllocatePort(), q2ns::TopologySpec::backend, q2ns::TopologySpec::classicalEdges, q2ns::GetFirstNonLoopback(), m_backend, m_name2node, m_nc, m_teleportState, and q2ns::TopologySpec::sessions.

Referenced by Install().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDefaultQueue()

TeleportationHelper & q2ns::TeleportationHelper::SetDefaultQueue ( std::string  max)

Definition at line 46 of file q2ns-teleportation-helper.cc.

References m_defaultQueue.

◆ SetNetController()

TeleportationHelper & q2ns::TeleportationHelper::SetNetController ( NetController nc)

Definition at line 56 of file q2ns-teleportation-helper.cc.

References m_nc.

◆ SetPortBase()

TeleportationHelper & q2ns::TeleportationHelper::SetPortBase ( uint16_t  base)

Definition at line 51 of file q2ns-teleportation-helper.cc.

References m_portBase.

◆ SetTeleportState()

TeleportationHelper & q2ns::TeleportationHelper::SetTeleportState ( const std::shared_ptr< q2ns::QState > &  tpl)

Definition at line 62 of file q2ns-teleportation-helper.cc.

References m_teleportState.

◆ UseBackend()

TeleportationHelper & q2ns::TeleportationHelper::UseBackend ( std::string  backend)

Definition at line 41 of file q2ns-teleportation-helper.cc.

References m_backend.

Member Data Documentation

◆ m_backend

std::string q2ns::TeleportationHelper::m_backend {"ket"}
private

Definition at line 75 of file q2ns-teleportation-helper.h.

Referenced by InstallSessionApps(), and UseBackend().

◆ m_defaultQueue

std::string q2ns::TeleportationHelper::m_defaultQueue {"128kB"}
private

Definition at line 74 of file q2ns-teleportation-helper.h.

Referenced by BuildClassical(), and SetDefaultQueue().

◆ m_name2node

std::unordered_map<std::string, ns3::Ptr<ns3::Node> > q2ns::TeleportationHelper::m_name2node
private

◆ m_nc

q2ns::NetController* q2ns::TeleportationHelper::m_nc {nullptr}
private

◆ m_portBase

uint16_t q2ns::TeleportationHelper::m_portBase {7000}
private

Definition at line 73 of file q2ns-teleportation-helper.h.

Referenced by AllocatePort(), and SetPortBase().

◆ m_teleportState

std::shared_ptr<q2ns::QState> q2ns::TeleportationHelper::m_teleportState {nullptr}
private

Definition at line 83 of file q2ns-teleportation-helper.h.

Referenced by Install(), InstallSessionApps(), and SetTeleportState().


The documentation for this class was generated from the following files: