15#include "ns3/application.h"
16#include "ns3/data-rate.h"
17#include "ns3/ipv4-address.h"
19#include "ns3/socket.h"
20#include "ns3/traced-callback.h"
94 void OnCtrlRx(ns3::Ptr<const ns3::Packet> pkt,
const ns3::Address& from);
Main user-facing facade for creating and configuring a quantum network.
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSourceBellDone
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSourceCtrlSent
void OnTcpConnectSuccess(ns3::Ptr< ns3::Socket > s)
~TeleportationApp() override=default
ns3::Ptr< ns3::Application > m_ctrlSender
ns3::Ptr< ns3::PacketSink > m_ctrlSink
void SetTeleportState(const std::shared_ptr< QState > &state)
q2ns::NetController * m_nc
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSinkCorrection
void QubitArrivalHandler(std::shared_ptr< Qubit > q)
std::string m_targetQubitTag
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSourceStart
void StopApplication() override
void OnTcpConnectFail(ns3::Ptr< ns3::Socket > s)
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSinkStart
ns3::Ptr< ns3::Packet > m_pendingCtrlPkt
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSinkQArrive
void StartApplication() override
static ns3::TypeId GetTypeId()
void SetNetController(NetController *nc)
void OnCtrlRx(ns3::Ptr< const ns3::Packet > pkt, const ns3::Address &from)
std::shared_ptr< QState > m_teleportState
ns3::Ptr< q2ns::QNode > m_peerQNode
void TryApplyCorrection()
ns3::TracedCallback< uint64_t, ns3::Time > m_traceSinkCtrlArrive
void SendCtrlBits(uint8_t m1, uint8_t m2)