22 #include "ns3/address.h"
24 #include "ns3/nstime.h"
25 #include "ns3/simulator.h"
26 #include "ns3/uinteger.h"
27 #include "ns3/trace-source-accessor.h"
32 #include "ns3/qkd-key-association-link-entry.h"
43 static TypeId tid =
TypeId (
"ns3::QKDKeyAssociationLinkEntry")
45 .SetGroupName (
"QKDKeyAssociationLinkEntry")
62 uint32_t local_qkd_node_id,
63 uint32_t remote_qkd_node_id,
71 : m_qkdl_local_qkdn_id (local_qkd_node_id),
72 m_qkdl_remote_qkdn_id (remote_qkd_node_id),
74 m_virt_next_hop (nextHop),
75 m_kmsSrcAddress (kmsSrcAddress),
76 m_kmsDstAddress (kmsDstAddress),
78 m_srcQKDBuffer(srcBuffer)
88 <<
"CREATE NEW KEY ASSOCIATION ENTRY!"
102 uint32_t local_qkd_node_id,
103 uint32_t remote_qkd_node_id,
111 : m_qkdl_id (qkd_id),
112 m_qkdl_local_qkdn_id (local_qkd_node_id),
113 m_qkdl_remote_qkdn_id (remote_qkd_node_id),
115 m_virt_next_hop (nextHop),
116 m_kmsSrcAddress (kmsSrcAddress),
117 m_kmsDstAddress (kmsDstAddress),
119 m_srcQKDBuffer(srcBuffer)
128 <<
"CREATE NEW KEY ASSOCIATION ENTRY!"
147 std::vector<UUID>::iterator it = std::find(
154 NS_LOG_FUNCTION(
this <<
"No SAE application found with UUID " << appId);
157 NS_LOG_FUNCTION(
this <<
"SAE application with UUID " << appId <<
" FOUND!");
Ipv4 addresses are stored in host order in this class.
A base class which provides memory management and object aggregation.
std::ostream * GetStream()
Return a pointer to an ostream previously set in the wrapper.
Smart pointer class similar to boost::intrusive_ptr.
Ipv4Address m_kmsSrcAddress
Ipv4Address m_kmsDstAddress
uint32_t m_qkdl_remote_qkdn_id
virtual TypeId GetInstanceTypeId(void) const
Get the type ID for the instance.
void SetExpectedConsumption(double value)
void PrintRegistryInfo()
Print registry info.
double m_qkdl_performance_eskr
QKDKeyAssociationLinkEntry()
double m_qkdl_performance_skr
std::vector< UUID > m_qkdl_applications
double GetExpectedConsumption()
void SetUpdateStatusInterval(double statusInterval)
double m_qkdl_performance_expected_consumption
double GetUpdateStatusInterval()
void SetSKR(double value)
void PrintSAEApplications()
~QKDKeyAssociationLinkEntry()
void Print(Ptr< OutputStreamWrapper > stream) const
Print routing table entry.
static TypeId GetTypeId(void)
Get the type ID.
bool CheckSAEApplicationExists(UUID saeId)
void UpdateQKDApplications(UUID saeId)
double m_update_status_interval
void SetEffectiveSKR(double value)
uint32_t m_qkdl_local_qkdn_id
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Universally unique identifier (UUID)
static UUID Random()
Generate random UUID4 (randomly or pseudo-randomly generated version)
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.