QKDPostprocessingApplication is a class used to generate QKD key in key establishment process. More...
#include "qkd-postprocessing-application.h"
Inheritance diagram for ns3::QKDPostprocessingApplication:
Collaboration diagram for ns3::QKDPostprocessingApplication:Classes | |
| struct | AddressHash |
| Hashing for the Address class. More... | |
Public Member Functions | |
| QKDPostprocessingApplication () | |
| ~QKDPostprocessingApplication () override | |
| std::list< Ptr< Socket > > | GetAcceptedSockets () const |
| Ptr< Node > | GetDst () |
| pointer to associated destination node | |
| std::string | GetId () |
| Get QKD module ID. | |
| Time | GetLastAckTime () |
| Ptr< Socket > | GetListeningSocket () const |
| std::string | GetPeerId () |
| Get matching QKD module ID. | |
| Ptr< Socket > | GetSendSocket () const |
| Ptr< Socket > | GetSinkSocket () const |
| set the sink socket | |
| Ptr< Node > | GetSrc () |
| pointer to associated source node | |
| uint32_t | GetTotalRx () const |
| void | SetDst (Ptr< Node >) |
| void | SetId (std::string id) |
| Set QKD module ID. | |
| void | SetId (UUID id) |
| Set QKD module ID. | |
| void | SetPeerId (std::string id) |
| Set matching QKD module ID. | |
| void | SetPeerId (UUID id) |
| Set matching QKD module ID. | |
| void | SetSiftingSocket (std::string type, Ptr< Socket > socket) |
| void | SetSocket (std::string type, Ptr< Socket > socket, bool isMaster) |
| void | SetSrc (Ptr< Node >) |
Public Member Functions inherited from ns3::Application | |
| Application () | |
| ~Application () override | |
| virtual int64_t | AssignStreams (int64_t stream) |
| Assign a fixed random variable stream number to the random variables used by this Application object. | |
| Ptr< Node > | GetNode () const |
| void | SetNode (Ptr< Node > node) |
| void | SetStartTime (Time start) |
| Specify application start time. | |
| void | SetStopTime (Time stop) |
| Specify application stop time. | |
Public Member Functions inherited from ns3::Object | |
| Object () | |
| Constructor. | |
| ~Object () override | |
| Destructor. | |
| void | AggregateObject (Ptr< Object > other) |
| Aggregate two Objects together. | |
| void | Dispose () |
| Dispose of this Object. | |
| AggregateIterator | GetAggregateIterator () const |
| Get an iterator to the Objects aggregated to this one. | |
| TypeId | GetInstanceTypeId () const override |
| Get the most derived TypeId for this Object. | |
| template<typename T > | |
| Ptr< T > | GetObject () const |
| Get a pointer to the requested aggregated Object. | |
| template<> | |
| Ptr< Object > | GetObject () const |
| Specialization of () for objects of type ns3::Object. | |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const |
| Get a pointer to the requested aggregated Object by TypeId. | |
| template<> | |
| Ptr< Object > | GetObject (TypeId tid) const |
| Specialization of (TypeId tid) for objects of type ns3::Object. | |
| void | Initialize () |
| Invoke DoInitialize on all Objects aggregated to this one. | |
| bool | IsInitialized () const |
| Check if the object has been initialized. | |
| void | UnidirectionalAggregateObject (Ptr< Object > other) |
| Aggregate an Object to another Object. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () |
| Virtual destructor. | |
| void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
| Get the value of an attribute, raising fatal errors if unsuccessful. | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
| Get the value of an attribute without raising errors. | |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| Set a single attribute, raising fatal errors if unsuccessful. | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| Set a single attribute without raising errors. | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| Connect a TraceSource to a Callback with a context. | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| Connect a TraceSource to a Callback without a context. | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected with a context. | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::Application | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId () |
| Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Protected Member Functions | |
| void | DoDispose () override |
| Destructor implementation. | |
Protected Member Functions inherited from ns3::Application | |
| void | DoInitialize () override |
| Initialize() implementation. | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| Copy an Object. | |
| virtual void | NotifyNewAggregate () |
| Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. | |
| virtual void | NotifyConstructionCompleted () |
| Notifier called once the ObjectBase is fully constructed. | |
Private Member Functions | |
| void | ConnectionFailed (Ptr< Socket > socket) |
| void | ConnectionFailedKMS (Ptr< Socket > socket) |
| void | ConnectionFailedSifting (Ptr< Socket > socket) |
| void | ConnectionSucceeded (Ptr< Socket > socket) |
| void | ConnectionSucceededKMS (Ptr< Socket > socket) |
| void | ConnectionSucceededSifting (Ptr< Socket > socket) |
| void | DataSend (Ptr< Socket > s, uint32_t) |
| void | DataSendKMS (Ptr< Socket > s, uint32_t) |
| void | GenerateRandomKeyId () |
| Generate Random Seed Used to Generate Key Values. | |
| std::string | GenerateRandomString (const int len) |
| Internal help function. | |
| std::string | GetStringAddress (Address m_address) |
| Obtain IPv4 address in string type. | |
| void | HandleAccept (Ptr< Socket > socket, const Address &from) |
| Handle an incoming connection. | |
| void | HandleAcceptKMS (Ptr< Socket > socket, const Address &from) |
| Handle an incoming connection from KMS. | |
| void | HandleAcceptQiskit (Ptr< Socket > socket, const Address &from) |
| Handle an incoming connection. | |
| void | HandleAcceptSifting (Ptr< Socket > socket, const Address &from) |
| Handle an incoming connection. | |
| void | HandlePeerClose (Ptr< Socket > socket) |
| Handle an connection close. | |
| void | HandlePeerCloseKMS (Ptr< Socket > socket) |
| Handle an connection close. | |
| void | HandlePeerCloseQiskit (Ptr< Socket > socket) |
| Handle an connection close. | |
| void | HandlePeerError (Ptr< Socket > socket) |
| Handle an connection error KMS. | |
| void | HandlePeerErrorKMS (Ptr< Socket > socket) |
| Handle an connection error KMS. | |
| void | HandlePeerErrorQiskit (Ptr< Socket > socket) |
| Handle an connection error KMS. | |
| void | HandleRead (Ptr< Socket > socket) |
| Handle a packet received by the application. | |
| void | HandleReadKMS (Ptr< Socket > socket) |
| Handle a packet received by the application from KMS. | |
| void | HandleReadQiskit (Ptr< Socket > socket) |
| Handle a packet received by the application. | |
| void | HandleReadSifting (Ptr< Socket > socket) |
| Handle a packet received by the application. | |
| void | PacketReceived (const Ptr< Packet > &p, const Address &from, Ptr< Socket > socket) |
| void | PrepareOutput (std::string value, std::string action) |
| Help function to prepare output values. | |
| void | ProcessIncomingPacket (Ptr< Packet > packet) |
| Process data received. | |
| void | ProcessQiskitRequest (HTTPMessage headerIn, Ptr< Packet > packet, Ptr< Socket > socket) |
| void | RegisterAckTime (Time oldRtt, Time newRtt) |
| Callback for ack messages. | |
| void | ResetCounter () |
| After completing post-processing round, reset counters. | |
| void | ScheduleNextReset () |
| Schedule reset of post-processing round. | |
| void | SendData () |
| Schedule data to be sent. | |
| void | SendPacket (Ptr< Packet > packet) |
| Send packet to the socket. | |
| void | SendSiftingPacket () |
| Send SIFTING packet to the socket. | |
| void | StartApplication () override |
| Called at time specified by Start. | |
| void | StopApplication () override |
| Called at time specified by Stop. | |
| void | StoreKey (std::string keyId, std::string keyValue) |
| Store generated key at KMS. | |
Private Attributes | |
| std::unordered_map< Address, Ptr< Packet >, AddressHash > | m_buffer |
| Buffer for received packets(TCP segmentation) | |
| bool | m_connected |
| Connection Status. | |
| DataRate | m_dataRate |
| Rate that data is generatedm_pktSize. | |
| Ptr< Node > | m_dst |
| Ptr< QKDEncryptor > | m_encryptor |
| DataRate | m_keyRate |
| QKD Key rate. | |
| uint32_t | m_keySize |
| KeyRate of the QKDlink. | |
| Address | m_kms |
| Time | m_lastAck |
| std::string | m_lastUUID |
| The latest UUID of the key. | |
| Address | m_local |
| Local address to bind to. | |
| Address | m_local_sifting |
| Local address for sifting to bind to. | |
| bool | m_master |
| Alice(1) or Bob(0) | |
| std::string | m_matching_module_id |
| Unique UUID of matching QKD module. | |
| uint32_t | m_maxPackets_sifting |
| Limitation for the number of sifting packets. | |
| std::string | m_module_id |
| Unique UUID of QKD module. | |
| uint32_t | m_packetNumber |
| uint32_t | m_packetNumber_sifting |
| How many sifting packets have been sent. | |
| Address | m_peer |
| Peer address. | |
| Address | m_peer_sifting |
| Peer address for sifting. | |
| uint32_t | m_pktSize |
| Size of packets. | |
| uint32_t | m_ppId |
| Ptr< UniformRandomVariable > | m_random |
| uint64_t | m_randomSeed |
| Random seed used when generating key values. | |
| TracedCallback< Ptr< const Packet >, const Address & > | m_rxTrace |
| Traced Callback: received packets, source address. | |
| TracedCallback< Ptr< const Packet >, const Address & > | m_rxTraceKMS |
| EventId | m_sendEvent |
| Event id of pending "send packet" event. | |
| Ptr< Socket > | m_sendSocket |
| IMITATE post-processing traffic(CASCADE, PRIVACY AMPLIFICATION and etc. | |
| Ptr< Socket > | m_sendSocket_sifting |
| Sockets used for SIFTING. | |
| Ptr< Socket > | m_sendSocketKMS |
| Sockets to talk with LKMS. | |
| Ptr< Socket > | m_sinkSocket |
| Associated socket. | |
| Ptr< Socket > | m_sinkSocket_sifting |
| Associated socket for sifting. | |
| Ptr< Socket > | m_sinkSocketKMS |
| Associated socket. | |
| std::list< Ptr< Socket > > | m_sinkSocketList |
| the accepted sockets | |
| Ptr< Socket > | m_sinkSocketQiskit |
| Associated socket. | |
| Ptr< Node > | m_src |
| TypeId | m_tid |
| TypeId | m_tidSifting |
| uint32_t | m_totalRx |
| Total bytes received. | |
| TracedCallback< Ptr< const Packet > > | m_txTrace |
| TracedCallback< Ptr< const Packet > > | m_txTraceKMS |
Static Private Attributes | |
| static uint32_t | m_applicationCounts = 0 |
Additional Inherited Members | |
Public Types inherited from ns3::Application | |
| typedef void(* | DelayAddressCallback) (const Time &delay, const Address &from) |
| Common callback signature for packet delay and address. | |
| typedef void(* | StateTransitionCallback) (const std::string &oldState, const std::string &newState) |
| Common signature used by callbacks to application's state transition trace source. | |
Protected Attributes inherited from ns3::Application | |
| Ptr< Node > | m_node |
| The node that this application is installed on. | |
| EventId | m_startEvent |
| The event that will fire at m_startTime to start the application. | |
| Time | m_startTime |
| The simulation time that the application will start. | |
| EventId | m_stopEvent |
| The event that will fire at m_stopTime to end the application. | |
| Time | m_stopTime |
| The simulation time that the application will end. | |
Related Symbols inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid () |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
QKDPostprocessingApplication is a class used to generate QKD key in key establishment process.
QKD protocols are used to securely generate new key material. Although there are different types of QKD protocols, each of them requires raw material processing through post-processing applications implementing the following steps: the extraction of the raw key(sifting), error rate estimation, key reconciliation, privacy amplification and authentication. However, since the QKDNetSim focus is primarily QKD network organization, management and network traffic, one uses QKD post-processing application to imitate the network activity of a QKD protocol. The goal was to build an application that credibly imitates the traffic from the existing post-processing applications to reduce the simulation time and computational resources. Such implementation of QKD post-processing allows analyzing the influence of various parameters on the state of the network, such as: the impact of key generation rate, the impact of traffic volume of the reconciled protocol on network capacity and others.
ns3::QKDPostprocessingApplication is accessible through the following paths with Config::Set and Config::Connect:
DataRate DataRate Address Address Address TypeId TypeId Address Address Time -9.22337e+18ns:+9.22337e+18ns Time -9.22337e+18ns:+9.22337e+18ns Group: Applications
Size of this type is 696 bytes (on a 64-bit architecture).
Definition at line 72 of file qkd-postprocessing-application.h.
| ns3::QKDPostprocessingApplication::QKDPostprocessingApplication | ( | ) |
Definition at line 110 of file qkd-postprocessing-application.cc.
References ns3::Create(), GenerateRandomKeyId(), m_applicationCounts, m_connected, m_encryptor, m_packetNumber, m_packetNumber_sifting, m_ppId, m_random, and m_totalRx.
Here is the call graph for this function:
|
override |
Definition at line 123 of file qkd-postprocessing-application.cc.
References NS_LOG_FUNCTION.
Definition at line 964 of file qkd-postprocessing-application.cc.
Definition at line 984 of file qkd-postprocessing-application.cc.
Definition at line 932 of file qkd-postprocessing-application.cc.
Definition at line 977 of file qkd-postprocessing-application.cc.
Definition at line 957 of file qkd-postprocessing-application.cc.
Definition at line 971 of file qkd-postprocessing-application.cc.
Definition at line 991 of file qkd-postprocessing-application.cc.
|
overrideprotectedvirtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::Application.
Definition at line 220 of file qkd-postprocessing-application.cc.
References ns3::Simulator::Cancel(), ns3::Application::DoDispose(), m_sendEvent, m_sendSocket, m_sendSocket_sifting, m_sinkSocket, m_sinkSocket_sifting, m_sinkSocketList, and NS_LOG_FUNCTION.
Here is the call graph for this function:
|
private |
Generate Random Seed Used to Generate Key Values.
Definition at line 143 of file qkd-postprocessing-application.cc.
References m_random, and m_randomSeed.
Referenced by QKDPostprocessingApplication().
Here is the caller graph for this function:
|
private |
Internal help function.
Definition at line 1011 of file qkd-postprocessing-application.cc.
Definition at line 177 of file qkd-postprocessing-application.cc.
References m_sinkSocketList, and NS_LOG_FUNCTION.
pointer to associated destination node
Definition at line 166 of file qkd-postprocessing-application.cc.
References m_dst.
|
inline |
Get QKD module ID.
Definition at line 166 of file qkd-postprocessing-application.h.
References m_module_id.
Referenced by StartApplication().
Here is the caller graph for this function:| Time ns3::QKDPostprocessingApplication::GetLastAckTime | ( | ) |
Definition at line 1004 of file qkd-postprocessing-application.cc.
|
inline |
Get matching QKD module ID.
Definition at line 190 of file qkd-postprocessing-application.h.
References m_matching_module_id.
Referenced by StartApplication().
Here is the caller graph for this function:Definition at line 191 of file qkd-postprocessing-application.cc.
References m_sendSocket, and NS_LOG_FUNCTION.
set the sink socket
Definition at line 184 of file qkd-postprocessing-application.cc.
References m_sinkSocket, and NS_LOG_FUNCTION.
pointer to associated source node
Definition at line 155 of file qkd-postprocessing-application.cc.
References m_src.
|
private |
Obtain IPv4 address in string type.
| m_address | input Address type |
Definition at line 575 of file qkd-postprocessing-application.cc.
| uint32_t ns3::QKDPostprocessingApplication::GetTotalRx | ( | ) | const |
Definition at line 148 of file qkd-postprocessing-application.cc.
References m_totalRx, and NS_LOG_FUNCTION.
|
static |
Get the type ID.
190
Definition at line 36 of file qkd-postprocessing-application.cc.
References ns3::Create(), ns3::TcpSocketFactory::GetTypeId(), ns3::UdpSocketFactory::GetTypeId(), m_dataRate, m_keyRate, m_keySize, m_kms, m_local, m_local_sifting, m_maxPackets_sifting, m_peer, m_peer_sifting, m_pktSize, m_rxTrace, m_rxTraceKMS, m_tid, m_tidSifting, m_txTrace, m_txTraceKMS, ns3::MakeAddressAccessor(), ns3::MakeAddressChecker(), ns3::MakeDataRateAccessor(), ns3::MakeDataRateChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeTypeIdAccessor(), ns3::MakeTypeIdChecker(), ns3::MakeUintegerAccessor(), and ns3::TypeId::SetParent().
Here is the call graph for this function:
|
private |
Handle an incoming connection.
| socket | the incoming connection socket |
| from | the address the connection is from |
Definition at line 902 of file qkd-postprocessing-application.cc.
Referenced by StartApplication().
Here is the caller graph for this function:
|
private |
Handle an incoming connection from KMS.
| socket | the incoming connection socket |
| from | the address the connection is from |
Definition at line 910 of file qkd-postprocessing-application.cc.
|
private |
Handle an incoming connection.
| socket | the incoming connection socket |
| from | the address the connection is from |
Definition at line 917 of file qkd-postprocessing-application.cc.
|
private |
Handle an incoming connection.
| socket | the incoming connection socket |
| from | the address the connection is from |
Definition at line 924 of file qkd-postprocessing-application.cc.
Handle an connection close.
| socket | the connected socket |
Definition at line 865 of file qkd-postprocessing-application.cc.
Referenced by StartApplication().
Here is the caller graph for this function:Handle an connection close.
| socket | the connected socket |
Definition at line 871 of file qkd-postprocessing-application.cc.
Handle an connection close.
| socket | the connected socket |
Definition at line 877 of file qkd-postprocessing-application.cc.
Handle an connection error KMS.
| socket | the connected socket |
Definition at line 883 of file qkd-postprocessing-application.cc.
Referenced by StartApplication().
Here is the caller graph for this function:Handle an connection error KMS.
| socket | the connected socket |
Definition at line 896 of file qkd-postprocessing-application.cc.
Handle an connection error KMS.
| socket | the connected socket |
Definition at line 889 of file qkd-postprocessing-application.cc.
Handle a packet received by the application.
| socket | the receiving socket |
Definition at line 765 of file qkd-postprocessing-application.cc.
Referenced by StartApplication().
Here is the caller graph for this function:Handle a packet received by the application from KMS.
| socket | the receiving socket |
Definition at line 602 of file qkd-postprocessing-application.cc.
Handle a packet received by the application.
| socket | the receiving socket |
Definition at line 631 of file qkd-postprocessing-application.cc.
Handle a packet received by the application.
| socket | the receiving socket |
Definition at line 851 of file qkd-postprocessing-application.cc.
|
private |
Definition at line 649 of file qkd-postprocessing-application.cc.
|
private |
Help function to prepare output values.
| string | value |
| string | action |
Definition at line 494 of file qkd-postprocessing-application.cc.
Process data received.
| Packet | to be processed |
POST PROCESSING
Definition at line 798 of file qkd-postprocessing-application.cc.
|
private |
Definition at line 695 of file qkd-postprocessing-application.cc.
Callback for ack messages.
Definition at line 997 of file qkd-postprocessing-application.cc.
|
private |
After completing post-processing round, reset counters.
Definition at line 417 of file qkd-postprocessing-application.cc.
|
private |
Schedule reset of post-processing round.
Definition at line 407 of file qkd-postprocessing-application.cc.
|
private |
Schedule data to be sent.
Definition at line 430 of file qkd-postprocessing-application.cc.
Send packet to the socket.
| Packet | to be sent |
Definition at line 525 of file qkd-postprocessing-application.cc.
|
private |
Send SIFTING packet to the socket.
| Packet | to be sent |
Definition at line 586 of file qkd-postprocessing-application.cc.
| <Ptr> | destinationNode |
Definition at line 171 of file qkd-postprocessing-application.cc.
References m_dst, and NS_LOG_FUNCTION.
|
inline |
Set QKD module ID.
| id | string ID |
Definition at line 158 of file qkd-postprocessing-application.h.
References m_module_id.
Set QKD module ID.
| id | UUID ID |
Definition at line 150 of file qkd-postprocessing-application.h.
References m_module_id.
|
inline |
Set matching QKD module ID.
| id | string ID |
Definition at line 182 of file qkd-postprocessing-application.h.
References m_matching_module_id.
Set matching QKD module ID.
| id | UUID ID |
Definition at line 174 of file qkd-postprocessing-application.h.
References m_matching_module_id.
| socket | pointer to socket to be set |
Definition at line 210 of file qkd-postprocessing-application.cc.
References m_sendSocket_sifting, m_sinkSocket_sifting, and NS_LOG_FUNCTION.
| void ns3::QKDPostprocessingApplication::SetSocket | ( | std::string | type, |
| Ptr< Socket > | socket, | ||
| bool | isMaster | ||
| ) |
| socket | pointer to socket to be set |
Definition at line 198 of file qkd-postprocessing-application.cc.
References ns3::Create(), m_master, m_sendSocket, m_sinkSocket, and NS_LOG_FUNCTION.
Here is the call graph for this function:| <Ptr> | sourceNode |
Definition at line 160 of file qkd-postprocessing-application.cc.
References m_src, and NS_LOG_FUNCTION.
|
overrideprivatevirtual |
Called at time specified by Start.
Reimplemented from ns3::Application.
Definition at line 237 of file qkd-postprocessing-application.cc.
References ns3::Socket::Bind(), ns3::InetSocketAddress::ConvertFrom(), ns3::Create(), ns3::Socket::CreateSocket(), ns3::Ipv4Address::GetAny(), GetId(), ns3::Application::GetNode(), ns3::Object::GetObject(), GetPeerId(), HandleAccept(), HandlePeerClose(), HandlePeerError(), HandleRead(), ns3::Socket::Listen(), m_local, m_sendSocket, m_sinkSocket, m_sinkSocketKMS, m_tid, ns3::MakeCallback(), ns3::MakeNullCallback(), NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::Socket::SetAcceptCallback(), ns3::Socket::SetCloseCallbacks(), ns3::Socket::SetRecvCallback(), ns3::Socket::ShutdownSend(), and ns3::ObjectBase::TraceConnectWithoutContext().
Here is the call graph for this function:
|
overrideprivatevirtual |
Called at time specified by Stop.
Reimplemented from ns3::Application.
Definition at line 383 of file qkd-postprocessing-application.cc.
|
private |
Store generated key at KMS.
| keyId | unique key identifier |
| keyValue | generated key in byte format |
Definition at line 535 of file qkd-postprocessing-application.cc.
|
staticprivate |
Definition at line 385 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication().
|
private |
Buffer for received packets(TCP segmentation)
Definition at line 437 of file qkd-postprocessing-application.h.
|
private |
Connection Status.
Definition at line 418 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication().
|
private |
Rate that data is generatedm_pktSize.
Definition at line 427 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
Definition at line 390 of file qkd-postprocessing-application.h.
|
private |
Definition at line 462 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication().
|
private |
QKD Key rate.
Definition at line 428 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
KeyRate of the QKDlink.
Definition at line 417 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Definition at line 415 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Definition at line 422 of file qkd-postprocessing-application.h.
|
private |
The latest UUID of the key.
Definition at line 436 of file qkd-postprocessing-application.h.
|
private |
Local address to bind to.
Definition at line 411 of file qkd-postprocessing-application.h.
Referenced by GetTypeId(), and StartApplication().
|
private |
Local address for sifting to bind to.
Definition at line 414 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Alice(1) or Bob(0)
Definition at line 419 of file qkd-postprocessing-application.h.
Referenced by SetSocket().
|
private |
Unique UUID of matching QKD module.
Definition at line 434 of file qkd-postprocessing-application.h.
Referenced by GetPeerId(), SetPeerId(), and SetPeerId().
|
private |
Limitation for the number of sifting packets.
Definition at line 447 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
|
private |
Definition at line 420 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication().
|
private |
How many sifting packets have been sent.
Definition at line 446 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication().
|
private |
Peer address.
Definition at line 410 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Peer address for sifting.
Definition at line 413 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Size of packets.
Definition at line 429 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Definition at line 387 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication().
|
private |
Definition at line 460 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication(), and GenerateRandomKeyId().
|
private |
Random seed used when generating key values.
Definition at line 448 of file qkd-postprocessing-application.h.
Referenced by GenerateRandomKeyId().
|
private |
Traced Callback: received packets, source address.
Definition at line 440 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Definition at line 443 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Event id of pending "send packet" event.
Definition at line 425 of file qkd-postprocessing-application.h.
Referenced by DoDispose().
IMITATE post-processing traffic(CASCADE, PRIVACY AMPLIFICATION and etc.
) Associated socket
Definition at line 395 of file qkd-postprocessing-application.h.
Referenced by DoDispose(), GetSendSocket(), SetSocket(), and StartApplication().
Sockets used for SIFTING.
Associated socket for sifting
Definition at line 400 of file qkd-postprocessing-application.h.
Referenced by DoDispose(), and SetSiftingSocket().
Sockets to talk with LKMS.
Associated socket
Definition at line 405 of file qkd-postprocessing-application.h.
Associated socket.
Definition at line 396 of file qkd-postprocessing-application.h.
Referenced by DoDispose(), GetSinkSocket(), SetSocket(), and StartApplication().
Associated socket for sifting.
Definition at line 401 of file qkd-postprocessing-application.h.
Referenced by DoDispose(), and SetSiftingSocket().
Associated socket.
Definition at line 406 of file qkd-postprocessing-application.h.
Referenced by StartApplication().
the accepted sockets
Definition at line 424 of file qkd-postprocessing-application.h.
Referenced by DoDispose(), and GetAcceptedSockets().
Associated socket.
Definition at line 408 of file qkd-postprocessing-application.h.
Definition at line 389 of file qkd-postprocessing-application.h.
|
private |
Definition at line 430 of file qkd-postprocessing-application.h.
Referenced by GetTypeId(), and StartApplication().
|
private |
Definition at line 431 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Total bytes received.
Definition at line 421 of file qkd-postprocessing-application.h.
Referenced by QKDPostprocessingApplication(), and GetTotalRx().
|
private |
Definition at line 441 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().
|
private |
Definition at line 444 of file qkd-postprocessing-application.h.
Referenced by GetTypeId().