#include <unix-fd.h>
Public Member Functions | |
virtual int | Accept (struct sockaddr *my_addr, socklen_t *addrlen)=0 |
virtual int | Bind (const struct sockaddr *my_addr, socklen_t addrlen)=0 |
virtual int | Close (void)=0 |
virtual int | Connect (const struct sockaddr *my_addr, socklen_t addrlen)=0 |
void | DecFdCount (void) |
virtual int | Fcntl (int cmd, unsigned long arg) |
virtual int | Ftruncate (off_t length)=0 |
virtual int | Fxstat (int ver, struct::stat *buf)=0 |
virtual int | Fxstat64 (int ver, struct::stat64 *buf)=0 |
int | GetFdCount (void) const |
virtual int | Getpeername (struct sockaddr *name, socklen_t *namelen)=0 |
virtual int | GetRealFd (void) const |
virtual int | Getsockname (struct sockaddr *name, socklen_t *namelen)=0 |
virtual int | Getsockopt (int level, int optname, void *optval, socklen_t *optlen)=0 |
virtual int | Gettime (struct itimerspec *cur_value) const =0 |
virtual bool | HangupReceived (void) const =0 |
void | IncFdCount (void) |
virtual int | Ioctl (int request, char *argp)=0 |
virtual bool | Isatty (void) const =0 |
virtual int | Listen (int backlog)=0 |
virtual off64_t | Lseek (off64_t offset, int whence)=0 |
virtual void * | Mmap (void *start, size_t length, int prot, int flags, off64_t offset)=0 |
virtual int | Poll (PollTable *ptable)=0 |
virtual ssize_t | Read (void *buf, size_t count)=0 |
virtual ssize_t | Recvmsg (struct msghdr *msg, int flags)=0 |
virtual ssize_t | Sendmsg (const struct msghdr *msg, int flags)=0 |
virtual int | Setsockopt (int level, int optname, const void *optval, socklen_t optlen)=0 |
virtual int | Settime (int flags, const struct itimerspec *new_value, struct itimerspec *old_value)=0 |
virtual int | Shutdown (int how)=0 |
virtual char * | Ttyname (void) |
virtual ssize_t | Write (const void *buf, size_t count)=0 |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Protected Member Functions | |
UnixFd () | |
void | AddWaitQueue (WaitQueueEntry *, bool andRegister) |
void | RemoveWaitQueue (WaitQueueEntry *, bool andUnregister) |
void | WakeWaiters (void *key) |
Protected Attributes | |
int | m_fdFlags |
int | m_statusFlags |
Private Attributes | |
int | m_fdCount |
std::list< WaitQueueEntry * > | m_waitQueueList |
Friends | |
class | DceManager |
class | PollTable |
class | PollTableEntry |
|
protected |
Definition at line 22 of file unix-fd.cc.
|
pure virtual |
|
protected |
Definition at line 37 of file unix-fd.cc.
References ns3::Current(), ns3::Thread::ioWait, and m_waitQueueList.
Referenced by ns3::UnixStreamSocketFd::Accept(), ns3::LocalStreamSocketFd::Accept(), ns3::UnixStreamSocketFd::Connect(), ns3::LocalStreamSocketFd::Connect(), ns3::PipeFd::DoRecvPacket(), ns3::UnixStreamSocketFd::DoSendmsg(), ns3::PollTable::PollWait(), ns3::PipeFd::Read(), ns3::LocalStreamSocketFd::Read(), ns3::LocalDatagramSocketFd::Read(), ns3::LocalDatagramSocketFd::Sendmsg(), ns3::UnixSocketFd::WaitRecvDoSignal(), and ns3::LocalStreamSocketFd::Write().
|
pure virtual |
|
pure virtual |
Implemented in ns3::UnixRandomFd, ns3::TermUnixFileFd, ns3::UnixFileFdLight, ns3::LocalStreamSocketFd, ns3::UnixFileFd, ns3::LocalDatagramSocketFd, ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, and ns3::UnixTimerFd.
Referenced by dce_close().
|
pure virtual |
void ns3::UnixFd::DecFdCount | ( | void | ) |
Definition at line 60 of file unix-fd.cc.
References m_fdCount.
Referenced by ns3::FileUsage::~FileUsage().
|
virtual |
Reimplemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
Definition at line 80 of file unix-fd.cc.
References m_fdFlags, and m_statusFlags.
|
pure virtual |
Implemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
Implemented in ns3::UnixRandomFd, ns3::LocalSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
Implemented in ns3::UnixRandomFd, ns3::LocalSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
int ns3::UnixFd::GetFdCount | ( | void | ) | const |
Definition at line 65 of file unix-fd.cc.
References m_fdCount.
Referenced by dce_close().
|
pure virtual |
|
virtual |
Reimplemented in ns3::UnixFileFdBase.
Definition at line 75 of file unix-fd.cc.
Referenced by ns3::getRealFd().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
static |
Reimplemented in ns3::LocalStreamSocketFd, ns3::LocalDatagramSocketFd, and ns3::LocalSocketFd.
Definition at line 14 of file unix-fd.cc.
|
pure virtual |
void ns3::UnixFd::IncFdCount | ( | void | ) |
Definition at line 55 of file unix-fd.cc.
References m_fdCount.
Referenced by ns3::UnixStreamSocketFd::Accept(), ns3::LinuxSocketFdFactory::Accept(), ns3::LocalStreamSocketFd::Accept(), ns3::DceManager::Clone(), dce_dup(), dce_dup2(), dce_mkstemp(), dce_open(), dce_pipe(), dce_socket(), dce_timerfd_create(), and ns3::LinuxSocketImpl::Poll().
|
pure virtual |
Implemented in ns3::LocalSocketFd, ns3::UnixSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
Implemented in ns3::PipeFd, ns3::LocalStreamSocketFd, ns3::LocalSocketFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
|
pure virtual |
Implemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
Implemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
Implemented in ns3::LocalStreamSocketFd, ns3::LocalDatagramSocketFd, ns3::PipeFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
Referenced by dce_poll().
|
pure virtual |
|
pure virtual |
|
protected |
Definition at line 28 of file unix-fd.cc.
References ns3::Current(), ns3::Thread::ioWait, and m_waitQueueList.
Referenced by ns3::UnixStreamSocketFd::Accept(), ns3::LocalStreamSocketFd::Accept(), ns3::UnixStreamSocketFd::Connect(), ns3::LocalStreamSocketFd::Connect(), ns3::PipeFd::DoRecvPacket(), ns3::UnixStreamSocketFd::DoSendmsg(), ns3::PollTableEntry::FreeWait(), ns3::PipeFd::Read(), ns3::LocalStreamSocketFd::Read(), ns3::LocalDatagramSocketFd::Read(), ns3::LocalDatagramSocketFd::Sendmsg(), ns3::UnixSocketFd::WaitRecvDoSignal(), and ns3::LocalStreamSocketFd::Write().
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
|
pure virtual |
|
virtual |
Definition at line 70 of file unix-fd.cc.
|
protected |
Definition at line 46 of file unix-fd.cc.
References m_waitQueueList.
Referenced by ns3::LocalDatagramSocketFd::ClearAll(), ns3::LocalStreamSocketFd::ClearAll(), ns3::UnixSocketFd::Close(), ns3::PipeFd::Close(), ns3::UnixStreamSocketFd::CloseSuccess(), ns3::UnixStreamSocketFd::ConnectionCreated(), ns3::LocalStreamSocketFd::ConnectionCreated(), ns3::UnixStreamSocketFd::ConnectionError(), ns3::UnixStreamSocketFd::ConnectionSuccess(), ns3::PipeFd::DoRecvPacket(), ns3::LocalSocketFd::DoRecvPacket(), ns3::LocalStreamSocketFd::InternalConnect(), ns3::LocalStreamSocketFd::PeerClosed(), ns3::PipeFd::Read(), ns3::LocalStreamSocketFd::Read(), ns3::LocalDatagramSocketFd::Read(), ns3::UnixSocketFd::RecvSocketData(), ns3::LocalDatagramSocketFd::RemoveConnected(), ns3::UnixSocketFd::SendSocketData(), and ns3::PipeFd::Write().
|
pure virtual |
Implemented in ns3::UnixRandomFd, ns3::UnixFileFdLight, ns3::LocalStreamSocketFd, ns3::LocalDatagramSocketFd, ns3::LocalSocketFd, ns3::PipeFd, ns3::UnixSocketFd, ns3::LinuxSocketFd, ns3::UnixTimerFd, and ns3::UnixFileFdBase.
Referenced by dce_writev().
|
friend |
|
friend |
|
private |
Definition at line 75 of file unix-fd.h.
Referenced by DecFdCount(), GetFdCount(), and IncFdCount().
|
protected |
|
protected |
Definition at line 70 of file unix-fd.h.
Referenced by ns3::UnixStreamSocketFd::Accept(), ns3::LocalStreamSocketFd::Accept(), ns3::LocalStreamSocketFd::Connect(), Fcntl(), ns3::UnixSocketFd::Ioctl(), ns3::LocalStreamSocketFd::Read(), ns3::LocalDatagramSocketFd::Read(), ns3::UnixSocketFd::Recvmsg(), ns3::UnixSocketFd::Sendmsg(), and ns3::LocalStreamSocketFd::Write().
|
private |
Definition at line 73 of file unix-fd.h.
Referenced by AddWaitQueue(), RemoveWaitQueue(), and WakeWaiters().