This aggregator sends values it receives to a file. More...
#include "file-aggregator.h"
Public Types | |
enum | FileType { FORMATTED , SPACE_SEPARATED , COMMA_SEPARATED , TAB_SEPARATED } |
The type of file written by the aggregator. More... | |
Public Member Functions | |
FileAggregator (const std::string &outputFileName, FileType fileType=SPACE_SEPARATED) | |
~FileAggregator () override | |
void | Set10dFormat (const std::string &format) |
Sets the 10D format string for the C-style sprintf() function. More... | |
void | Set1dFormat (const std::string &format) |
Sets the 1D format string for the C-style sprintf() function. More... | |
void | Set2dFormat (const std::string &format) |
Sets the 2D format string for the C-style sprintf() function. More... | |
void | Set3dFormat (const std::string &format) |
Sets the 3D format string for the C-style sprintf() function. More... | |
void | Set4dFormat (const std::string &format) |
Sets the 4D format string for the C-style sprintf() function. More... | |
void | Set5dFormat (const std::string &format) |
Sets the 5D format string for the C-style sprintf() function. More... | |
void | Set6dFormat (const std::string &format) |
Sets the 6D format string for the C-style sprintf() function. More... | |
void | Set7dFormat (const std::string &format) |
Sets the 7D format string for the C-style sprintf() function. More... | |
void | Set8dFormat (const std::string &format) |
Sets the 8D format string for the C-style sprintf() function. More... | |
void | Set9dFormat (const std::string &format) |
Sets the 9D format string for the C-style sprintf() function. More... | |
void | SetFileType (FileType fileType) |
Set the file type to create, which determines the separator to use when printing values to the file. More... | |
void | SetHeading (const std::string &heading) |
Sets the heading string that will be printed on the first line of the file. More... | |
void | Write10d (std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double v9, double v10) |
Writes 10 values to the file. More... | |
void | Write1d (std::string context, double v1) |
Writes 1 value to the file. More... | |
void | Write2d (std::string context, double v1, double v2) |
Writes 2 values to the file. More... | |
void | Write3d (std::string context, double v1, double v2, double v3) |
Writes 3 values to the file. More... | |
void | Write4d (std::string context, double v1, double v2, double v3, double v4) |
Writes 4 values to the file. More... | |
void | Write5d (std::string context, double v1, double v2, double v3, double v4, double v5) |
Writes 5 values to the file. More... | |
void | Write6d (std::string context, double v1, double v2, double v3, double v4, double v5, double v6) |
Writes 6 values to the file. More... | |
void | Write7d (std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7) |
Writes 7 values to the file. More... | |
void | Write8d (std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8) |
Writes 8 values to the file. More... | |
void | Write9d (std::string context, double v1, double v2, double v3, double v4, double v5, double v6, double v7, double v8, double v9) |
Writes 9 values to the file. More... | |
Public Member Functions inherited from ns3::DataCollectionObject | |
DataCollectionObject () | |
~DataCollectionObject () override | |
void | Disable () |
Unset the status of an individual object. More... | |
void | Enable () |
Set the status of an individual object. More... | |
std::string | GetName () const |
Get the object's name. More... | |
virtual bool | IsEnabled () const |
Check the status of an individual object. More... | |
void | SetName (std::string name) |
Set the object's name. More... | |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. More... | |
~Object () override | |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose () |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. More... | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. More... | |
template<typename T > | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. More... | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. More... | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized () const |
Check if the object has been initialized. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. More... | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. More... | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. More... | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. More... | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. More... | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. More... | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::DataCollectionObject | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId () |
Register this type. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
Private Attributes | |
std::string | m_10dFormat |
Format string for 10D C-style sprintf() function. More... | |
std::string | m_1dFormat |
Format string for 1D C-style sprintf() function. More... | |
std::string | m_2dFormat |
Format string for 2D C-style sprintf() function. More... | |
std::string | m_3dFormat |
Format string for 3D C-style sprintf() function. More... | |
std::string | m_4dFormat |
Format string for 4D C-style sprintf() function. More... | |
std::string | m_5dFormat |
Format string for 5D C-style sprintf() function. More... | |
std::string | m_6dFormat |
Format string for 6D C-style sprintf() function. More... | |
std::string | m_7dFormat |
Format string for 7D C-style sprintf() function. More... | |
std::string | m_8dFormat |
Format string for 8D C-style sprintf() function. More... | |
std::string | m_9dFormat |
Format string for 9D C-style sprintf() function. More... | |
std::ofstream | m_file |
Used to write values to the file. More... | |
FileType | m_fileType |
Determines the kind of file written by the aggregator. More... | |
bool | m_hasHeadingBeenSet |
Indicates if the heading line for the file has been set. More... | |
std::string | m_heading |
Heading line for the outputfile. More... | |
std::string | m_outputFileName |
The file name. More... | |
std::string | m_separator |
Printed between values in the file. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | DoDispose () |
Destructor implementation. More... | |
virtual void | DoInitialize () |
Initialize() implementation. More... | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. More... | |
Protected Attributes inherited from ns3::DataCollectionObject | |
bool | m_enabled |
Object's activation state. More... | |
std::string | m_name |
Name of the object within the data collection framework. More... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
This aggregator sends values it receives to a file.
Definition at line 40 of file file-aggregator.h.
The type of file written by the aggregator.
Enumerator | |
---|---|
FORMATTED | |
SPACE_SEPARATED | |
COMMA_SEPARATED | |
TAB_SEPARATED |
Definition at line 44 of file file-aggregator.h.
ns3::FileAggregator::FileAggregator | ( | const std::string & | outputFileName, |
FileType | fileType = SPACE_SEPARATED |
||
) |
outputFileName | name of the file to write. |
fileType | type of file to write. |
Constructs a file aggregator that will create a file named outputFileName with values printed as specified by fileType. The default file type is space-separated.
Definition at line 45 of file file-aggregator.cc.
References COMMA_SEPARATED, m_file, m_fileType, m_outputFileName, m_separator, NS_LOG_FUNCTION, and TAB_SEPARATED.
|
override |
Definition at line 80 of file file-aggregator.cc.
References m_file, and NS_LOG_FUNCTION.
|
static |
Get the type ID.
Definition at line 37 of file file-aggregator.cc.
References ns3::TypeId::SetParent().
void ns3::FileAggregator::Set10dFormat | ( | const std::string & | format | ) |
Sets the 10D format string for the C-style sprintf() function.
format | the 10D format string. |
Definition at line 171 of file file-aggregator.cc.
References m_10dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set1dFormat | ( | const std::string & | format | ) |
Sets the 1D format string for the C-style sprintf() function.
format | the 1D format string. |
Definition at line 108 of file file-aggregator.cc.
References m_1dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set2dFormat | ( | const std::string & | format | ) |
Sets the 2D format string for the C-style sprintf() function.
format | the 2D format string. |
Definition at line 115 of file file-aggregator.cc.
References m_2dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set3dFormat | ( | const std::string & | format | ) |
Sets the 3D format string for the C-style sprintf() function.
format | the 3D format string. |
Definition at line 122 of file file-aggregator.cc.
References m_3dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set4dFormat | ( | const std::string & | format | ) |
Sets the 4D format string for the C-style sprintf() function.
format | the 4D format string. |
Definition at line 129 of file file-aggregator.cc.
References m_4dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set5dFormat | ( | const std::string & | format | ) |
Sets the 5D format string for the C-style sprintf() function.
format | the 5D format string. |
Definition at line 136 of file file-aggregator.cc.
References m_5dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set6dFormat | ( | const std::string & | format | ) |
Sets the 6D format string for the C-style sprintf() function.
format | the 6D format string. |
Definition at line 143 of file file-aggregator.cc.
References m_6dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set7dFormat | ( | const std::string & | format | ) |
Sets the 7D format string for the C-style sprintf() function.
format | the 7D format string. |
Definition at line 150 of file file-aggregator.cc.
References m_7dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set8dFormat | ( | const std::string & | format | ) |
Sets the 8D format string for the C-style sprintf() function.
format | the 8D format string. |
Definition at line 157 of file file-aggregator.cc.
References m_8dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Set9dFormat | ( | const std::string & | format | ) |
Sets the 9D format string for the C-style sprintf() function.
format | the 9D format string. |
Definition at line 164 of file file-aggregator.cc.
References m_9dFormat, and NS_LOG_FUNCTION.
void ns3::FileAggregator::SetFileType | ( | FileType | fileType | ) |
Set the file type to create, which determines the separator to use when printing values to the file.
fileType | file type specifies the separator to use in printing the file. |
Definition at line 87 of file file-aggregator.cc.
References m_fileType, and NS_LOG_FUNCTION.
void ns3::FileAggregator::SetHeading | ( | const std::string & | heading | ) |
Sets the heading string that will be printed on the first line of the file.
heading | the heading string. |
Note that the heading string will only be printed if it has been set by calling this function.
Definition at line 94 of file file-aggregator.cc.
References m_file, m_hasHeadingBeenSet, m_heading, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write10d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4, | ||
double | v5, | ||
double | v6, | ||
double | v7, | ||
double | v8, | ||
double | v9, | ||
double | v10 | ||
) |
Writes 10 values to the file.
context | specifies the 10D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
v5 | fifth value for the new data point. |
v6 | sixth value for the new data point. |
v7 | seventh value for the new data point. |
v8 | eighth value for the new data point. |
v9 | ninth value for the new data point. |
v10 | tenth value for the new data point. |
Definition at line 536 of file file-aggregator.cc.
References FORMATTED, m_10dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write1d | ( | std::string | context, |
double | v1 | ||
) |
Writes 1 value to the file.
context | specifies the 1D dataset these values came from. |
v1 | value for the new data point. |
Definition at line 178 of file file-aggregator.cc.
References FORMATTED, m_1dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write2d | ( | std::string | context, |
double | v1, | ||
double | v2 | ||
) |
Writes 2 values to the file.
context | specifies the 2D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
Definition at line 212 of file file-aggregator.cc.
References FORMATTED, m_2dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by ns3::FileHelper::ConnectProbeToAggregator().
void ns3::FileAggregator::Write3d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3 | ||
) |
Writes 3 values to the file.
context | specifies the 3D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
Definition at line 246 of file file-aggregator.cc.
References FORMATTED, m_3dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write4d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4 | ||
) |
Writes 4 values to the file.
context | specifies the 4D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
Definition at line 280 of file file-aggregator.cc.
References FORMATTED, m_4dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write5d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4, | ||
double | v5 | ||
) |
Writes 5 values to the file.
context | specifies the 5D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
v5 | fifth value for the new data point. |
Definition at line 315 of file file-aggregator.cc.
References FORMATTED, m_5dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write6d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4, | ||
double | v5, | ||
double | v6 | ||
) |
Writes 6 values to the file.
context | specifies the 6D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
v5 | fifth value for the new data point. |
v6 | sixth value for the new data point. |
Definition at line 351 of file file-aggregator.cc.
References FORMATTED, m_6dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write7d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4, | ||
double | v5, | ||
double | v6, | ||
double | v7 | ||
) |
Writes 7 values to the file.
context | specifies the 7D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
v5 | fifth value for the new data point. |
v6 | sixth value for the new data point. |
v7 | seventh value for the new data point. |
Definition at line 393 of file file-aggregator.cc.
References FORMATTED, m_7dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write8d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4, | ||
double | v5, | ||
double | v6, | ||
double | v7, | ||
double | v8 | ||
) |
Writes 8 values to the file.
context | specifies the 8D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
v5 | fifth value for the new data point. |
v6 | sixth value for the new data point. |
v7 | seventh value for the new data point. |
v8 | eighth value for the new data point. |
Definition at line 436 of file file-aggregator.cc.
References FORMATTED, m_8dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
void ns3::FileAggregator::Write9d | ( | std::string | context, |
double | v1, | ||
double | v2, | ||
double | v3, | ||
double | v4, | ||
double | v5, | ||
double | v6, | ||
double | v7, | ||
double | v8, | ||
double | v9 | ||
) |
Writes 9 values to the file.
context | specifies the 9D dataset these values came from. |
v1 | first value for the new data point. |
v2 | second value for the new data point. |
v3 | third value for the new data point. |
v4 | fourth value for the new data point. |
v5 | fifth value for the new data point. |
v6 | sixth value for the new data point. |
v7 | seventh value for the new data point. |
v8 | eighth value for the new data point. |
v9 | ninth value for the new data point. |
Definition at line 481 of file file-aggregator.cc.
References FORMATTED, m_9dFormat, ns3::DataCollectionObject::m_enabled, m_file, m_fileType, m_separator, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
|
private |
Format string for 10D C-style sprintf() function.
Definition at line 367 of file file-aggregator.h.
Referenced by Set10dFormat(), and Write10d().
|
private |
Format string for 1D C-style sprintf() function.
Definition at line 358 of file file-aggregator.h.
Referenced by Set1dFormat(), and Write1d().
|
private |
Format string for 2D C-style sprintf() function.
Definition at line 359 of file file-aggregator.h.
Referenced by Set2dFormat(), and Write2d().
|
private |
Format string for 3D C-style sprintf() function.
Definition at line 360 of file file-aggregator.h.
Referenced by Set3dFormat(), and Write3d().
|
private |
Format string for 4D C-style sprintf() function.
Definition at line 361 of file file-aggregator.h.
Referenced by Set4dFormat(), and Write4d().
|
private |
Format string for 5D C-style sprintf() function.
Definition at line 362 of file file-aggregator.h.
Referenced by Set5dFormat(), and Write5d().
|
private |
Format string for 6D C-style sprintf() function.
Definition at line 363 of file file-aggregator.h.
Referenced by Set6dFormat(), and Write6d().
|
private |
Format string for 7D C-style sprintf() function.
Definition at line 364 of file file-aggregator.h.
Referenced by Set7dFormat(), and Write7d().
|
private |
Format string for 8D C-style sprintf() function.
Definition at line 365 of file file-aggregator.h.
Referenced by Set8dFormat(), and Write8d().
|
private |
Format string for 9D C-style sprintf() function.
Definition at line 366 of file file-aggregator.h.
Referenced by Set9dFormat(), and Write9d().
|
private |
Used to write values to the file.
Definition at line 344 of file file-aggregator.h.
Referenced by FileAggregator(), ~FileAggregator(), SetHeading(), Write10d(), Write1d(), Write2d(), Write3d(), Write4d(), Write5d(), Write6d(), Write7d(), Write8d(), and Write9d().
|
private |
Determines the kind of file written by the aggregator.
Definition at line 347 of file file-aggregator.h.
Referenced by FileAggregator(), SetFileType(), Write10d(), Write1d(), Write2d(), Write3d(), Write4d(), Write5d(), Write6d(), Write7d(), Write8d(), and Write9d().
|
private |
Indicates if the heading line for the file has been set.
Definition at line 353 of file file-aggregator.h.
Referenced by SetHeading().
|
private |
Heading line for the outputfile.
Definition at line 356 of file file-aggregator.h.
Referenced by SetHeading().
|
private |
|
private |
Printed between values in the file.
Definition at line 350 of file file-aggregator.h.
Referenced by FileAggregator(), Write10d(), Write2d(), Write3d(), Write4d(), Write5d(), Write6d(), Write7d(), Write8d(), and Write9d().