ns-3 Direct Code Execution
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ns3::DceApplication Class Reference

a wrapper around a posix synchronous application. More...

#include <dce-application.h>

+ Collaboration diagram for ns3::DceApplication:

Public Member Functions

 DceApplication ()
virtual ~DceApplication ()
void SetArguments (std::vector< std::string > args)
void SetBinary (std::string filename)
void SetEgid (uid_t i)
void SetEnvironment (std::vector< std::pair< std::string, std::string > > envs)
void SetEuid (uid_t i)
void SetFinishedCallback (Callback< void, uint16_t, int > cb)
void SetGid (uid_t i)
void SetStackSize (uint32_t stackSize)
void SetStdinFile (std::string filename)
void SetUid (uid_t i)

Static Public Member Functions

static TypeId GetTypeId (void)

Private Member Functions

virtual void DoDispose (void)
virtual void StartApplication (void)
virtual void StopApplication (void)

Private Attributes

std::vector< std::string > m_args
TracedCallback< uint16_t > m_dceStarted
uid_t m_egid
std::vector< std::pair
< std::string, std::string > > 
m_envs
uid_t m_euid
std::string m_filename
Callback< void, uint16_t, int > m_finishedCallback
uid_t m_gid
uint16_t m_pid
uint32_t m_stackSize
std::string m_stdinFilename
uid_t m_uid

Detailed Description

a wrapper around a posix synchronous application.

The sole purpose of this class is to allow users to manipulate these posix synchronous applications in their scripts as if they were normal ns-3 applications and to start them at a specific time using the normal ApplicationContainer::Start method.

To implement the Stop method, we send a SIGKILL signal to the target application. Note that doing this will make it impossible to deal correctly with the application's memory management. i.e., once you call Stop on such an application, valgrind will most likely start reporting a lot of lost memory. Crashes might ensue.

Definition at line 23 of file dce-application.h.

Constructor & Destructor Documentation

ns3::DceApplication::DceApplication ( )

Definition at line 24 of file dce-application.cc.

ns3::DceApplication::~DceApplication ( )
virtual

Definition at line 33 of file dce-application.cc.

Member Function Documentation

void ns3::DceApplication::DoDispose ( void  )
privatevirtual

Definition at line 38 of file dce-application.cc.

TypeId ns3::DceApplication::GetTypeId ( void  )
static

Definition at line 13 of file dce-application.cc.

References m_dceStarted.

void ns3::DceApplication::SetArguments ( std::vector< std::string >  args)

Definition at line 54 of file dce-application.cc.

References m_args.

void ns3::DceApplication::SetBinary ( std::string  filename)

Definition at line 44 of file dce-application.cc.

References m_filename.

void ns3::DceApplication::SetEgid ( uid_t  i)

Definition at line 126 of file dce-application.cc.

References m_egid.

void ns3::DceApplication::SetEnvironment ( std::vector< std::pair< std::string, std::string > >  envs)

Definition at line 60 of file dce-application.cc.

References m_envs.

void ns3::DceApplication::SetEuid ( uid_t  i)

Definition at line 116 of file dce-application.cc.

References m_euid.

void ns3::DceApplication::SetFinishedCallback ( Callback< void, uint16_t, int >  cb)

Definition at line 106 of file dce-application.cc.

References m_finishedCallback.

void ns3::DceApplication::SetGid ( uid_t  i)

Definition at line 121 of file dce-application.cc.

References m_gid.

void ns3::DceApplication::SetStackSize ( uint32_t  stackSize)

Definition at line 49 of file dce-application.cc.

References m_stackSize.

void ns3::DceApplication::SetStdinFile ( std::string  filename)

Definition at line 101 of file dce-application.cc.

References m_stdinFilename.

void ns3::DceApplication::SetUid ( uid_t  i)

Definition at line 111 of file dce-application.cc.

References m_uid.

void ns3::DceApplication::StartApplication ( void  )
privatevirtual
void ns3::DceApplication::StopApplication ( void  )
privatevirtual

Definition at line 93 of file dce-application.cc.

References m_pid, and ns3::DceManager::Stop().

+ Here is the call graph for this function:

Member Data Documentation

std::vector<std::string> ns3::DceApplication::m_args
private

Definition at line 50 of file dce-application.h.

Referenced by SetArguments(), and StartApplication().

TracedCallback<uint16_t> ns3::DceApplication::m_dceStarted
private

Definition at line 53 of file dce-application.h.

Referenced by GetTypeId(), and StartApplication().

uid_t ns3::DceApplication::m_egid
private

Definition at line 59 of file dce-application.h.

Referenced by SetEgid(), and StartApplication().

std::vector<std::pair<std::string,std::string> > ns3::DceApplication::m_envs
private

Definition at line 51 of file dce-application.h.

Referenced by SetEnvironment(), and StartApplication().

uid_t ns3::DceApplication::m_euid
private

Definition at line 57 of file dce-application.h.

Referenced by SetEuid(), and StartApplication().

std::string ns3::DceApplication::m_filename
private

Definition at line 48 of file dce-application.h.

Referenced by SetBinary(), and StartApplication().

Callback<void,uint16_t,int> ns3::DceApplication::m_finishedCallback
private

Definition at line 55 of file dce-application.h.

Referenced by SetFinishedCallback(), and StartApplication().

uid_t ns3::DceApplication::m_gid
private

Definition at line 58 of file dce-application.h.

Referenced by SetGid(), and StartApplication().

uint16_t ns3::DceApplication::m_pid
private

Definition at line 52 of file dce-application.h.

Referenced by StartApplication(), and StopApplication().

uint32_t ns3::DceApplication::m_stackSize
private

Definition at line 49 of file dce-application.h.

Referenced by SetStackSize(), and StartApplication().

std::string ns3::DceApplication::m_stdinFilename
private

Definition at line 54 of file dce-application.h.

Referenced by SetStdinFile(), and StartApplication().

uid_t ns3::DceApplication::m_uid
private

Definition at line 56 of file dce-application.h.

Referenced by SetUid(), and StartApplication().


The documentation for this class was generated from the following files: