10#ifndef Q2NS_TELEPORTATION_HELPER_H
11#define Q2NS_TELEPORTATION_HELPER_H
13#include "ns3/q2ns-netcontroller.h"
14#include "ns3/q2ns-qnode.h"
22#include <unordered_map>
81 std::unordered_map<std::string, ns3::Ptr<ns3::Node>>
m_name2node;
Main user-facing facade for creating and configuring a quantum network.
TeleportationHelper & SetNetController(NetController *nc)
void BuildClassical(const TopologySpec &spec)
TeleportationHelper & UseBackend(std::string backend)
TeleportationHelper & SetDefaultQueue(std::string max)
void InstallSessionApps(const TopologySpec &spec)
TeleportationHelper & SetTeleportState(const std::shared_ptr< q2ns::QState > &tpl)
void BuildQuantum(const TopologySpec &spec)
std::string m_defaultQueue
void Install(const TopologySpec &spec)
TeleportationHelper & SetPortBase(uint16_t base)
q2ns::NetController * m_nc
uint16_t AllocatePort(uint64_t sessionId) const
std::unordered_map< std::string, ns3::Ptr< ns3::Node > > m_name2node
std::shared_ptr< q2ns::QState > m_teleportState
void BuildNodes(const TopologySpec &spec)
std::vector< LinkSpec > quantumEdges
std::vector< NodeSpec > nodes
std::vector< SessionSpec > sessions
std::vector< LinkSpec > classicalEdges