11#ifndef QKD_LOCATION_REGISTER_H
12#define QKD_LOCATION_REGISTER_H
14#include "ns3/event-id.h"
16#include "ns3/data-rate.h"
17#include "ns3/traced-callback.h"
18#include "ns3/output-stream-wrapper.h"
19#include "ns3/packet.h"
20#include "ns3/object.h"
21#include "ns3/traced-value.h"
22#include "ns3/trace-source-accessor.h"
24#include "ns3/core-module.h"
26#include "ns3/socket.h"
38class QKDLocationRegisterEntry;
138 std::vector< std::pair<uint32_t, uint32_t> >
DijkstraSP(
Ipv4 addresses are stored in host order in this class.
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
Introspection did not find any typical Config paths.
QKDLocationRegister is a class used to keep details about distant QKD nodes and their connectivity.
void GetListOfDestinationWithNextHop(uint32_t nxtHp, std::map< uint32_t, QKDLocationRegisterEntry > &dstList)
Lookup list of addresses for which nxtHp is the next Hop address.
void Print(Ptr< OutputStreamWrapper > stream) const
Print location table.
bool Lookup(uint32_t dstSaeId, QKDLocationRegisterEntry &rt)
Lookup location table entry with destination address dst.
std::map< uint32_t, QKDLocationRegisterEntry > m_locationEntites
std::map< uint32_t, Ptr< QKDControl > > m_controllers
void SetAddress(Ipv4Address addr)
bool AddEntry(QKDLocationRegisterEntry &r)
Add location table entry if it doesn't yet exist in location table.
TypeId GetInstanceTypeId() const override
Get the type ID for the instance.
QKDLocationRegister()
c-tor
bool DeleteEntry(uint32_t dst)
Delete location table entry with destination address dst, if it exists.
std::vector< std::pair< uint32_t, uint32_t > > DijkstraSP(uint32_t start)
std::vector< std::pair< uint32_t, uint32_t > > m_adjList
void PopulateRoutingTables()
void SetNode(Ptr< Node > n)
bool LookupByKms(Ipv4Address dstKmsId, QKDLocationRegisterEntry &rt)
Lookup location table entry with destination address dst KMS Id @Ipv4Address destination KMS Ipv4Addr...
static TypeId GetTypeId()
Get the type ID.
void GetListOfAllEntries(std::map< uint32_t, QKDLocationRegisterEntry > &allRoutes)
Lookup list of all addresses in the location table.
uint32_t GetSize()
Provides the number of routes present in that nodes location table.
a unique identifier for an interface.
Ptr< T > Create(Ts &&... args)
Create class instances by constructors with varying numbers of arguments and return them by Ptr.
Every class exported by the ns3 library is enclosed in the ns3 namespace.