42 for(
uint32_t i = 0;
i < src->GetNApplications(); ++
i){
64 std::ostringstream
temp1;
143 m_gnuplot.
AppendExtra(
"set arrow from graph 1,0 to graph 1.03,0 size screen 0.025,15,60 filled ls 3");
144 m_gnuplot.
AppendExtra(
"set arrow from graph 0,1 to graph 0,1.03 size screen 0.025,15,60 filled ls 3");
206 std::ostringstream
yrange;
void SetStyle(Style style)
void Add(double x, double y)
void SetExtra(const std::string &extra)
Add extra formatting parameters to this dataset.
void SetTitle(const std::string &title)
Change line title.
void AddDataset(const GnuplotDataset &dataset)
void SetLegend(const std::string &xLegend, const std::string &yLegend)
void AppendExtra(const std::string &extra)
void GenerateOutput(std::ostream &os)
Writes gnuplot commands and data values to a single output stream.
void SetTitle(const std::string &title)
void SetOutputFilename(const std::string &outputFilename)
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
std::string m_plotFileType
Gnuplot2dDataset m_datasetWorkingState_3
uint32_t m_keymMax
get some boundaries for the graph
std::string m_plotFileName
output filename
uint32_t m_maxValueGraph
get some boundaries for the graph
Ptr< Node > m_src
source node, info required for graph title
~QKDGraph() override
Destructor.
static TypeId GetTypeId()
Get the type ID.
Gnuplot2dDataset m_datasetMaximum
Gnuplot m_gnuplot
Gluplot object settings.
void ProcessMStatus(uint32_t value)
The status of the QBuffer changed, so plot it on the graph.
void ProcessMStatusHelpFunction(double time, uint32_t newValue)
Help function for detection of status change value.
uint32_t m_keymCurrent
get some boundaries for the graph
Gnuplot2dDataset m_datasetThreshold
uint32_t m_keymMin
get some boundaries for the graph
Gnuplot2dDataset m_datasetWorkingState_0
Ptr< QBuffer > m_buffer
QBuffer associated with the QKDGraph.
void InitTotalGraph() const
Initialized function for total graph.
uint32_t m_keymThreshold
get some boundaries for the graph
Ptr< Node > m_dst
destination node, info required for graph title
void PrintGraph()
Print the graph.
uint32_t m_graphStatusEntry
temp variable
Gnuplot2dDataset m_datasetWorkingState_1
QKDGraph(Ptr< Node > src, Ptr< Node > dst, uint32_t bufferID, std::string graphTitle, std::string graphType, Ptr< QBuffer > buff)
Constructor.
void ProcessMCurrent(uint32_t value)
MCurrent value of the QBuffer changed, so plot it on the graph.
double m_simulationTime
time value, x-axis
void ProcessMThrStatus(uint32_t value)
The Mthr value of the QBuffer changed, so plot it on the graph.
Gnuplot2dDataset m_dataset
Gnuplot2dDataset m_datasetWorkingState_2
Gnuplot2dDataset m_datasetMinimum
QKDNetSim implements Key Management System(KMS) as an application that listens on TCP port 80.
static Time Now()
Return the current simulation virtual time.
double GetSeconds() const
Get an approximation of the time stored in this instance in the indicated unit.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#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.
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.