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

#include <linux-socket-fd-factory.h>

+ Inheritance diagram for ns3::LinuxSocketFdFactory:
+ Collaboration diagram for ns3::LinuxSocketFdFactory:

Classes

struct  EventIdHolder

Public Member Functions

 LinuxSocketFdFactory ()
virtual ~LinuxSocketFdFactory ()
virtual UnixFdCreateSocket (int domain, int type, int protocol)
std::string Get (std::string path)
void ScheduleTask (EventImpl *event)
void Set (std::string path, std::string value)
- Public Member Functions inherited from ns3::SocketFdFactory
virtual ~SocketFdFactory ()
virtual void UnlinkNotify (std::string path)

Static Public Member Functions

static TypeId GetTypeId (void)

Private Member Functions

int Accept (struct SimSocket *socket, struct sockaddr *my_addr, socklen_t *addrlen)
int Bind (struct SimSocket *socket, const struct sockaddr *my_addr, socklen_t addrlen)
bool CanRecv (struct SimSocket *socket)
bool CanSend (struct SimSocket *socket)
int Close (struct SimSocket *socket)
int Connect (struct SimSocket *socket, const struct sockaddr *my_addr, socklen_t addrlen, int flags)
struct SimDevice * DevToDev (Ptr< NetDevice > dev)
virtual void DoDispose (void)
void DoSet (std::string path, std::string value)
void EventTrampoline (void(*fn)(void *context), void *context, void(*pre_fn)(void), Ptr< EventIdHolder > event)
void FreePoll (struct SimSocket *socket, void *ctxt)
int Getpeername (struct SimSocket *socket, struct sockaddr *name, socklen_t *namelen)
int Getsockname (struct SimSocket *socket, struct sockaddr *name, socklen_t *namelen)
int Getsockopt (struct SimSocket *socket, int level, int optname, void *optval, socklen_t *optlen)
std::vector< std::pair
< std::string, struct
SimSysFile * > > 
GetSysFileList (void)
void InitializeStack (void)
int Ioctl (struct SimSocket *socket, int request, char *argp)
int Listen (struct SimSocket *socket, int backlog)
void NotifyAddDevice (Ptr< NetDevice > device)
void NotifyAddDeviceTask (Ptr< NetDevice > device)
void NotifyDeviceStateChange (Ptr< NetDevice > device)
void NotifyDeviceStateChangeTask (Ptr< NetDevice > device)
virtual void NotifyNewAggregate (void)
int Poll (struct SimSocket *socket, PollTable *ptable)
void PollFreeWait (void *ref)
void * PollWait (struct SimSocket *socket, void *ctxt)
ssize_t Recvmsg (struct SimSocket *socket, struct msghdr *msg, int flags)
void RxFromDevice (Ptr< NetDevice > device, Ptr< const Packet > p, uint16_t protocol, const Address &from, const Address &to, NetDevice::PacketType type)
ssize_t Sendmsg (struct SimSocket *socket, const struct msghdr *msg, int flags)
int Setsockopt (struct SimSocket *socket, int level, int optname, const void *optval, socklen_t optlen)
void SetTask (std::string path, std::string value)
int Shutdown (struct SimSocket *socket, int how)
void StartInitializationTask (void)

Static Private Member Functions

static int __Fxstat (struct SimKernel *kernel, int ver, int fd, void *buf)
static int Access (struct SimKernel *kernel, const char *pathname, int mode)
static int AtExit (struct SimKernel *kernel, void(*function)(void))
static void DevXmit (struct SimKernel *kernel, struct SimDevice *dev, unsigned char *data, int len)
static void EventCancel (struct SimKernel *kernel, void *ev)
static void * EventScheduleNs (struct SimKernel *kernel, __u64 ns, void(*fn)(void *context), void *context, void(*pre_fn)(void))
static int Fclose (struct SimKernel *kernel, FILE *fp)
static FILE * FdOpen (struct SimKernel *kernel, int fd, const char *mode)
static size_t Fread (struct SimKernel *kernel, void *ptr, size_t size, size_t nmemb, FILE *stream)
static void Free (struct SimKernel *kernel, void *buffer)
static int Fseek (struct SimKernel *kernel, FILE *stream, long offset, int whence)
static long Ftell (struct SimKernel *kernel, FILE *stream)
static size_t Fwrite (struct SimKernel *kernel, const void *ptr, size_t size, size_t nmemb, FILE *stream)
static char * Getenv (struct SimKernel *kernel, const char *name)
static void * Malloc (struct SimKernel *kernel, unsigned long size)
static void * Memcpy (struct SimKernel *kernel, void *dst, const void *src, unsigned long size)
static void * Memset (struct SimKernel *kernel, void *dst, char value, unsigned long size)
static int Mkdir (struct SimKernel *kernel, const char *pathname, mode_t mode)
static int Open (struct SimKernel *kernel, const char *pathname, int flags)
static void PollEvent (int flag, void *context)
static unsigned long Random (struct SimKernel *kernel)
static void ScheduleTaskTrampoline (void *context)
static void SendMain (bool *r, NetDevice *d, Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
static void Setbuf (struct SimKernel *kernel, FILE *stream, char *buf)
static void SignalRaised (struct SimKernel *kernel, struct SimTask *task, int signalNumber)
static struct SimTask * TaskCurrent (struct SimKernel *kernel)
static struct SimTask * TaskStart (struct SimKernel *kernel, void(*callback)(void *), void *context)
static void TaskSwitch (enum Task::SwitchType type, void *context)
static void TaskWait (struct SimKernel *kernel)
static int TaskWakeup (struct SimKernel *kernel, struct SimTask *task)
static void TaskYield (struct SimKernel *kernel)
static int Vprintf (struct SimKernel *kernel, const char *str, va_list args)

Private Attributes

KingsleyAllocm_alloc
std::vector< std::pair< Ptr
< NetDevice >, struct
SimDevice * > > 
m_devices
std::list< std::pair
< std::string, std::string > > 
m_earlySysfs
struct SimExported * m_exported
std::list< Task * > m_kernelTasks
std::string m_library
std::vector< Ptr
< LinuxDeviceStateListener > > 
m_listeners
Loaderm_loader
FILE * m_logFile
TypeId m_lteUeTid
Ptr< TaskManagerm_manager
uint16_t m_pid
RandomVariable m_ranvar
double m_rate
UniformVariable m_variable

Friends

class LinuxDeviceStateListener
class LinuxSocketFd

Detailed Description

Definition at line 37 of file linux-socket-fd-factory.h.

Constructor & Destructor Documentation

ns3::LinuxSocketFdFactory::LinuxSocketFdFactory ( )

Definition at line 91 of file linux-socket-fd-factory.cc.

References m_lteUeTid.

ns3::LinuxSocketFdFactory::~LinuxSocketFdFactory ( )
virtual

Definition at line 100 of file linux-socket-fd-factory.cc.

References m_alloc, m_devices, m_exported, m_loader, and m_logFile.

Member Function Documentation

int ns3::LinuxSocketFdFactory::__Fxstat ( struct SimKernel *  kernel,
int  ver,
int  fd,
void *  buf 
)
staticprivate

Definition at line 213 of file linux-socket-fd-factory.cc.

References dce___fxstat().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Accept ( struct SimSocket *  socket,
struct sockaddr *  my_addr,
socklen_t *  addrlen 
)
private
int ns3::LinuxSocketFdFactory::Access ( struct SimKernel *  kernel,
const char *  pathname,
int  mode 
)
staticprivate

Definition at line 193 of file linux-socket-fd-factory.cc.

References dce_access().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::AtExit ( struct SimKernel *  kernel,
void(*)(void)  function 
)
staticprivate

Definition at line 178 of file linux-socket-fd-factory.cc.

References ns3::AtExitHandler::NORMAL, ns3::AtExitHandler::normal, ns3::AtExitHandler::type, and ns3::AtExitHandler::value.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Bind ( struct SimSocket *  socket,
const struct sockaddr *  my_addr,
socklen_t  addrlen 
)
private

Definition at line 828 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

bool ns3::LinuxSocketFdFactory::CanRecv ( struct SimSocket *  socket)
private
bool ns3::LinuxSocketFdFactory::CanSend ( struct SimSocket *  socket)
private
int ns3::LinuxSocketFdFactory::Close ( struct SimSocket *  socket)
private

Definition at line 758 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

int ns3::LinuxSocketFdFactory::Connect ( struct SimSocket *  socket,
const struct sockaddr *  my_addr,
socklen_t  addrlen,
int  flags 
)
private

Definition at line 842 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

UnixFd * ns3::LinuxSocketFdFactory::CreateSocket ( int  domain,
int  type,
int  protocol 
)
virtual

Implements ns3::SocketFdFactory.

Definition at line 742 of file linux-socket-fd-factory.cc.

References GET_CURRENT, LinuxSocketFd, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

struct SimDevice * ns3::LinuxSocketFdFactory::DevToDev ( Ptr< NetDevice >  dev)
readprivate

Definition at line 414 of file linux-socket-fd-factory.cc.

References m_devices.

Referenced by NotifyDeviceStateChangeTask(), and RxFromDevice().

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::DevXmit ( struct SimKernel *  kernel,
struct SimDevice *  dev,
unsigned char *  data,
int  len 
)
staticprivate

Definition at line 383 of file linux-socket-fd-factory.cc.

References ns3::Current(), ns3::TaskManager::ExecOnMain(), m_exported, and SendMain().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::DoDispose ( void  )
privatevirtual

Definition at line 122 of file linux-socket-fd-factory.cc.

References m_kernelTasks, m_listeners, and m_manager.

void ns3::LinuxSocketFdFactory::DoSet ( std::string  path,
std::string  value 
)
private
void ns3::LinuxSocketFdFactory::EventCancel ( struct SimKernel *  kernel,
void *  ev 
)
staticprivate

Definition at line 291 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

void * ns3::LinuxSocketFdFactory::EventScheduleNs ( struct SimKernel *  kernel,
__u64  ns,
void(*)(void *context)  fn,
void *  context,
void(*)(void)  pre_fn 
)
staticprivate

Definition at line 278 of file linux-socket-fd-factory.cc.

References ns3::Current(), and EventTrampoline().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::EventTrampoline ( void(*)(void *context)  fn,
void *  context,
void(*)(void)  pre_fn,
Ptr< EventIdHolder event 
)
private

Definition at line 268 of file linux-socket-fd-factory.cc.

References m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

Referenced by EventScheduleNs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Fclose ( struct SimKernel *  kernel,
FILE *  fp 
)
staticprivate

Definition at line 248 of file linux-socket-fd-factory.cc.

References dce_fclose().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

FILE * ns3::LinuxSocketFdFactory::FdOpen ( struct SimKernel *  kernel,
int  fd,
const char *  mode 
)
staticprivate

Definition at line 233 of file linux-socket-fd-factory.cc.

References dce_fdopen().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t ns3::LinuxSocketFdFactory::Fread ( struct SimKernel *  kernel,
void *  ptr,
size_t  size,
size_t  nmemb,
FILE *  stream 
)
staticprivate

Definition at line 238 of file linux-socket-fd-factory.cc.

References dce_fread().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::Free ( struct SimKernel *  kernel,
void *  buffer 
)
staticprivate

Definition at line 158 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::FreePoll ( struct SimSocket *  socket,
void *  ctxt 
)
private
int ns3::LinuxSocketFdFactory::Fseek ( struct SimKernel *  kernel,
FILE *  stream,
long  offset,
int  whence 
)
staticprivate

Definition at line 218 of file linux-socket-fd-factory.cc.

References dce_fseek().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

long ns3::LinuxSocketFdFactory::Ftell ( struct SimKernel *  kernel,
FILE *  stream 
)
staticprivate

Definition at line 228 of file linux-socket-fd-factory.cc.

References dce_ftell().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t ns3::LinuxSocketFdFactory::Fwrite ( struct SimKernel *  kernel,
const void *  ptr,
size_t  size,
size_t  nmemb,
FILE *  stream 
)
staticprivate

Definition at line 243 of file linux-socket-fd-factory.cc.

References dce_fwrite().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::string ns3::LinuxSocketFdFactory::Get ( std::string  path)

Definition at line 622 of file linux-socket-fd-factory.cc.

References GetSysFileList(), and m_exported.

+ Here is the call graph for this function:

char * ns3::LinuxSocketFdFactory::Getenv ( struct SimKernel *  kernel,
const char *  name 
)
staticprivate

Definition at line 198 of file linux-socket-fd-factory.cc.

References dce_getenv().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Getpeername ( struct SimSocket *  socket,
struct sockaddr *  name,
socklen_t *  namelen 
)
private

Definition at line 814 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

int ns3::LinuxSocketFdFactory::Getsockname ( struct SimSocket *  socket,
struct sockaddr *  name,
socklen_t *  namelen 
)
private

Definition at line 800 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

int ns3::LinuxSocketFdFactory::Getsockopt ( struct SimSocket *  socket,
int  level,
int  optname,
void *  optval,
socklen_t *  optlen 
)
private

Definition at line 957 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

std::vector< std::pair< std::string, struct SimSysFile * > > ns3::LinuxSocketFdFactory::GetSysFileList ( void  )
private

Definition at line 554 of file linux-socket-fd-factory.cc.

References m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

Referenced by Get(), and SetTask().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Reimplemented from ns3::SocketFdFactory.

Definition at line 71 of file linux-socket-fd-factory.cc.

References m_library, m_ranvar, and m_rate.

int ns3::LinuxSocketFdFactory::Ioctl ( struct SimSocket *  socket,
int  request,
char *  argp 
)
private

Definition at line 928 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

int ns3::LinuxSocketFdFactory::Listen ( struct SimSocket *  socket,
int  backlog 
)
private

Definition at line 857 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

void * ns3::LinuxSocketFdFactory::Malloc ( struct SimKernel *  kernel,
unsigned long  size 
)
staticprivate

Definition at line 141 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

void * ns3::LinuxSocketFdFactory::Memcpy ( struct SimKernel *  kernel,
void *  dst,
const void *  src,
unsigned long  size 
)
staticprivate

Definition at line 168 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

void * ns3::LinuxSocketFdFactory::Memset ( struct SimKernel *  kernel,
void *  dst,
char  value,
unsigned long  size 
)
staticprivate

Definition at line 173 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Mkdir ( struct SimKernel *  kernel,
const char *  pathname,
mode_t  mode 
)
staticprivate

Definition at line 203 of file linux-socket-fd-factory.cc.

References dce_mkdir().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::NotifyAddDevice ( Ptr< NetDevice >  device)
private

Definition at line 506 of file linux-socket-fd-factory.cc.

References NotifyAddDeviceTask(), and ScheduleTask().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::NotifyAddDeviceTask ( Ptr< NetDevice >  device)
private
void ns3::LinuxSocketFdFactory::NotifyDeviceStateChange ( Ptr< NetDevice >  device)
private

Definition at line 459 of file linux-socket-fd-factory.cc.

References NotifyDeviceStateChangeTask(), and ScheduleTask().

+ Here is the call graph for this function:

void ns3::LinuxSocketFdFactory::NotifyDeviceStateChangeTask ( Ptr< NetDevice >  device)
private

Definition at line 465 of file linux-socket-fd-factory.cc.

References DevToDev(), m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

Referenced by NotifyAddDeviceTask(), and NotifyDeviceStateChange().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::NotifyNewAggregate ( void  )
privatevirtual

Definition at line 718 of file linux-socket-fd-factory.cc.

References InitializeStack(), m_loader, m_logFile, m_manager, ScheduleTask(), ns3::UtilsEnsureDirectoryExists(), and ns3::UtilsGetAbsRealFilePath().

+ Here is the call graph for this function:

int ns3::LinuxSocketFdFactory::Open ( struct SimKernel *  kernel,
const char *  pathname,
int  flags 
)
staticprivate

Definition at line 208 of file linux-socket-fd-factory.cc.

References dce_open().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Poll ( struct SimSocket *  socket,
PollTable ptable 
)
private
void ns3::LinuxSocketFdFactory::PollEvent ( int  flag,
void *  context 
)
staticprivate

Definition at line 972 of file linux-socket-fd-factory.cc.

References ns3::WaitPoint::WakeUpCallback().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::PollFreeWait ( void *  ref)
private

Definition at line 1025 of file linux-socket-fd-factory.cc.

References m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

Referenced by Poll().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* ns3::LinuxSocketFdFactory::PollWait ( struct SimSocket *  socket,
void *  ctxt 
)
private
unsigned long ns3::LinuxSocketFdFactory::Random ( struct SimKernel *  kernel)
staticprivate

Definition at line 253 of file linux-socket-fd-factory.cc.

References m_variable.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

ssize_t ns3::LinuxSocketFdFactory::Recvmsg ( struct SimSocket *  socket,
struct msghdr *  msg,
int  flags 
)
private

Definition at line 772 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

void ns3::LinuxSocketFdFactory::RxFromDevice ( Ptr< NetDevice >  device,
Ptr< const Packet >  p,
uint16_t  protocol,
const Address &  from,
const Address &  to,
NetDevice::PacketType  type 
)
private

Definition at line 428 of file linux-socket-fd-factory.cc.

References DevToDev(), m_exported, m_loader, m_lteUeTid, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

Referenced by NotifyAddDeviceTask().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::ScheduleTask ( EventImpl *  event)

Definition at line 496 of file linux-socket-fd-factory.cc.

References m_kernelTasks, m_loader, m_manager, ScheduleTaskTrampoline(), ns3::Task::SetExtraContext(), ns3::Task::SetSwitchNotifier(), and TaskSwitch().

Referenced by NotifyAddDevice(), NotifyDeviceStateChange(), NotifyNewAggregate(), Set(), and ns3::LinuxStackHelper::SysctlGet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::ScheduleTaskTrampoline ( void *  context)
staticprivate

Definition at line 483 of file linux-socket-fd-factory.cc.

References ns3::Current(), ns3::Task::GetExtraContext(), and ns3::Task::SetExtraContext().

Referenced by ScheduleTask().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::SendMain ( bool *  r,
NetDevice *  d,
Ptr< Packet >  packet,
const Address &  dest,
uint16_t  protocolNumber 
)
staticprivate

Definition at line 378 of file linux-socket-fd-factory.cc.

Referenced by DevXmit().

+ Here is the caller graph for this function:

ssize_t ns3::LinuxSocketFdFactory::Sendmsg ( struct SimSocket *  socket,
const struct msghdr *  msg,
int  flags 
)
private

Definition at line 786 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

void ns3::LinuxSocketFdFactory::Set ( std::string  path,
std::string  value 
)

Definition at line 609 of file linux-socket-fd-factory.cc.

References m_earlySysfs, m_manager, ScheduleTask(), and SetTask().

Referenced by ns3::Mip6dHelper::EnableHA(), ns3::Mip6dHelper::EnableMR(), InitializeStack(), and ns3::LinuxStackHelper::SysctlSet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::Setbuf ( struct SimKernel *  kernel,
FILE *  stream,
char *  buf 
)
staticprivate

Definition at line 223 of file linux-socket-fd-factory.cc.

References dce_setbuf().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Setsockopt ( struct SimSocket *  socket,
int  level,
int  optname,
const void *  optval,
socklen_t  optlen 
)
private

Definition at line 942 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

void ns3::LinuxSocketFdFactory::SetTask ( std::string  path,
std::string  value 
)
private

Definition at line 591 of file linux-socket-fd-factory.cc.

References GetSysFileList(), and m_exported.

Referenced by Set().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Shutdown ( struct SimSocket *  socket,
int  how 
)
private

Definition at line 871 of file linux-socket-fd-factory.cc.

References GET_CURRENT, m_exported, m_loader, ns3::Loader::NotifyEndExecute(), and ns3::Loader::NotifyStartExecute().

+ Here is the call graph for this function:

void ns3::LinuxSocketFdFactory::SignalRaised ( struct SimKernel *  kernel,
struct SimTask *  task,
int  signalNumber 
)
staticprivate

Definition at line 408 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::StartInitializationTask ( void  )
private
struct SimTask * ns3::LinuxSocketFdFactory::TaskCurrent ( struct SimKernel *  kernel)
staticreadprivate

Definition at line 329 of file linux-socket-fd-factory.cc.

References ns3::Current(), ns3::TaskManager::CurrentTask(), ns3::Task::GetContext(), ns3::Task::GetExtraContext(), ns3::Process::pid, ns3::Thread::process, and ns3::Task::SetExtraContext().

Referenced by InitializeStack(), TaskWait(), and TaskYield().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct SimTask * ns3::LinuxSocketFdFactory::TaskStart ( struct SimKernel *  kernel,
void(*)(void *)  callback,
void *  context 
)
staticreadprivate

Definition at line 318 of file linux-socket-fd-factory.cc.

References ns3::Task::GetExtraContext(), ns3::Task::SetExtraContext(), ns3::Task::SetSwitchNotifier(), and TaskSwitch().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::TaskSwitch ( enum Task::SwitchType  type,
void *  context 
)
staticprivate

Definition at line 302 of file linux-socket-fd-factory.cc.

References ns3::Task::FROM, ns3::Loader::NotifyEndExecute(), ns3::Loader::NotifyStartExecute(), and ns3::Task::TO.

Referenced by ScheduleTask(), and TaskStart().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::TaskWait ( struct SimKernel *  kernel)
staticprivate

Definition at line 348 of file linux-socket-fd-factory.cc.

References ns3::Current(), and TaskCurrent().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::TaskWakeup ( struct SimKernel *  kernel,
struct SimTask *  task 
)
staticprivate

Definition at line 356 of file linux-socket-fd-factory.cc.

References ns3::Current(), ns3::Task::IsBlocked(), and ns3::TaskManager::Wakeup().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LinuxSocketFdFactory::TaskYield ( struct SimKernel *  kernel)
staticprivate

Definition at line 370 of file linux-socket-fd-factory.cc.

References ns3::Current(), and TaskCurrent().

Referenced by InitializeStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int ns3::LinuxSocketFdFactory::Vprintf ( struct SimKernel *  kernel,
const char *  str,
va_list  args 
)
staticprivate

Definition at line 134 of file linux-socket-fd-factory.cc.

Referenced by InitializeStack().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class LinuxDeviceStateListener
friend

Definition at line 52 of file linux-socket-fd-factory.h.

friend class LinuxSocketFd
friend

Definition at line 51 of file linux-socket-fd-factory.h.

Referenced by Accept(), and CreateSocket().

Member Data Documentation

KingsleyAlloc* ns3::LinuxSocketFdFactory::m_alloc
private

Definition at line 148 of file linux-socket-fd-factory.h.

Referenced by ~LinuxSocketFdFactory().

std::vector<std::pair<Ptr<NetDevice>,struct SimDevice *> > ns3::LinuxSocketFdFactory::m_devices
private

Definition at line 141 of file linux-socket-fd-factory.h.

Referenced by DevToDev(), NotifyAddDeviceTask(), and ~LinuxSocketFdFactory().

std::list<std::pair<std::string,std::string> > ns3::LinuxSocketFdFactory::m_earlySysfs
private

Definition at line 150 of file linux-socket-fd-factory.h.

Referenced by InitializeStack(), and Set().

std::list<Task *> ns3::LinuxSocketFdFactory::m_kernelTasks
private

Definition at line 145 of file linux-socket-fd-factory.h.

Referenced by DoDispose(), and ScheduleTask().

std::string ns3::LinuxSocketFdFactory::m_library
private

Definition at line 142 of file linux-socket-fd-factory.h.

Referenced by GetTypeId(), and InitializeStack().

std::vector<Ptr<LinuxDeviceStateListener> > ns3::LinuxSocketFdFactory::m_listeners
private

Definition at line 151 of file linux-socket-fd-factory.h.

Referenced by DoDispose(), and NotifyAddDeviceTask().

FILE* ns3::LinuxSocketFdFactory::m_logFile
private

Definition at line 149 of file linux-socket-fd-factory.h.

Referenced by NotifyNewAggregate(), and ~LinuxSocketFdFactory().

TypeId ns3::LinuxSocketFdFactory::m_lteUeTid
private
Ptr<TaskManager> ns3::LinuxSocketFdFactory::m_manager
private

Definition at line 146 of file linux-socket-fd-factory.h.

Referenced by DoDispose(), NotifyNewAggregate(), ScheduleTask(), and Set().

uint16_t ns3::LinuxSocketFdFactory::m_pid
private

Definition at line 154 of file linux-socket-fd-factory.h.

Referenced by InitializeStack().

RandomVariable ns3::LinuxSocketFdFactory::m_ranvar
private

Definition at line 153 of file linux-socket-fd-factory.h.

Referenced by GetTypeId().

double ns3::LinuxSocketFdFactory::m_rate
private

Definition at line 152 of file linux-socket-fd-factory.h.

Referenced by GetTypeId().

UniformVariable ns3::LinuxSocketFdFactory::m_variable
private

Definition at line 147 of file linux-socket-fd-factory.h.

Referenced by Random().


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