#include <pipe-fd.h>
Public Member Functions | |
PipeFd () | |
PipeFd (PipeFd *peer) | |
virtual int | Accept (struct sockaddr *my_addr, socklen_t *addrlen) |
virtual int | Bind (const struct sockaddr *myaddr, socklen_t addrlen) |
virtual int | Close (void) |
virtual int | Connect (const struct sockaddr *my_addr, socklen_t addrlen) |
virtual int | Fcntl (int cmd, unsigned long arg) |
virtual int | Ftruncate (off_t length) |
virtual int | Fxstat (int ver, struct::stat *buf) |
virtual int | Fxstat64 (int ver, struct::stat64 *buf) |
virtual int | Getpeername (struct sockaddr *name, socklen_t *namelen) |
virtual int | Getsockname (struct sockaddr *name, socklen_t *namelen) |
virtual int | Getsockopt (int level, int optname, void *optval, socklen_t *optlen) |
virtual int | Gettime (struct itimerspec *cur_value) const |
virtual bool | HangupReceived (void) const |
virtual int | Ioctl (int request, char *argp) |
virtual bool | Isatty (void) const |
virtual int | Listen (int backlog) |
virtual off64_t | Lseek (off64_t offset, int whence) |
virtual void * | Mmap (void *start, size_t length, int prot, int flags, off64_t offset) |
virtual int | Poll (PollTable *ptable) |
virtual ssize_t | Read (void *buf, size_t count) |
virtual ssize_t | Recvmsg (struct msghdr *msg, int flags) |
virtual ssize_t | Sendmsg (const struct msghdr *msg, int flags) |
virtual int | Setsockopt (int level, int optname, const void *optval, socklen_t optlen) |
virtual int | Settime (int flags, const struct itimerspec *new_value, struct itimerspec *old_value) |
virtual int | Shutdown (int how) |
virtual ssize_t | Write (const void *buf, size_t count) |
![]() | |
void | DecFdCount (void) |
int | GetFdCount (void) const |
virtual int | GetRealFd (void) const |
void | IncFdCount (void) |
virtual char * | Ttyname (void) |
Private Member Functions | |
ssize_t | DoRecvPacket (uint8_t *buf, size_t len) |
Private Attributes | |
FifoBuffer | m_buf |
PipeFd * | m_peer |
bool | m_readSide |
int | m_statusFlags |
Additional Inherited Members | |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
UnixFd () | |
void | AddWaitQueue (WaitQueueEntry *, bool andRegister) |
void | RemoveWaitQueue (WaitQueueEntry *, bool andUnregister) |
void | WakeWaiters (void *key) |
![]() | |
int | m_fdFlags |
int | m_statusFlags |
ns3::PipeFd::PipeFd | ( | ) |
Definition at line 34 of file pipe-fd.cc.
ns3::PipeFd::PipeFd | ( | PipeFd * | peer | ) |
Definition at line 41 of file pipe-fd.cc.
References m_peer.
|
virtual |
Implements ns3::UnixFd.
Definition at line 326 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 286 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 50 of file pipe-fd.cc.
References Close(), ns3::Current(), ns3::Thread::err, m_peer, and ns3::UnixFd::WakeWaiters().
Referenced by Close().
|
virtual |
Implements ns3::UnixFd.
Definition at line 296 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
private |
Definition at line 91 of file pipe-fd.cc.
References ns3::UnixFd::AddWaitQueue(), ns3::Current(), ns3::Thread::err, ns3::WaitPoint::INTERRUPTED, m_buf, m_peer, m_statusFlags, ns3::WaitPoint::OK, ns3::UnixFd::RemoveWaitQueue(), RETURNFREE, ns3::WaitPoint::TIMEOUT, ns3::UtilsDoSignal(), ns3::WaitQueueEntryTimeout::Wait(), ns3::UnixFd::WakeWaiters(), and ns3::FifoBuffer::Write().
Referenced by Write().
|
virtual |
Reimplemented from ns3::UnixFd.
Definition at line 376 of file pipe-fd.cc.
References m_statusFlags.
|
virtual |
Implements ns3::UnixFd.
Definition at line 416 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 356 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 366 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 266 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 256 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 245 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 406 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 427 of file pipe-fd.cc.
References m_peer.
Referenced by Poll().
|
virtual |
Implements ns3::UnixFd.
Definition at line 276 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 432 of file pipe-fd.cc.
|
virtual |
Implements ns3::UnixFd.
Definition at line 306 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 346 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 336 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 438 of file pipe-fd.cc.
References ns3::FifoBuffer::GetSize(), ns3::FifoBuffer::GetSpace(), HangupReceived(), m_buf, m_peer, m_readSide, PIPE_CAPACITY, and ns3::PollTable::PollWait().
|
virtual |
Implements ns3::UnixFd.
Definition at line 146 of file pipe-fd.cc.
References ns3::UnixFd::AddWaitQueue(), ns3::Current(), ns3::Thread::err, ns3::WaitPoint::INTERRUPTED, m_buf, m_peer, m_readSide, m_statusFlags, ns3::WaitPoint::OK, ns3::FifoBuffer::Read(), ns3::UnixFd::RemoveWaitQueue(), RETURNFREE, ns3::WaitPoint::TIMEOUT, ns3::UtilsDoSignal(), ns3::WaitQueueEntryTimeout::Wait(), and ns3::UnixFd::WakeWaiters().
|
virtual |
Implements ns3::UnixFd.
Definition at line 214 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 224 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 234 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 394 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 316 of file pipe-fd.cc.
References ns3::Current(), and ns3::Thread::err.
|
virtual |
Implements ns3::UnixFd.
Definition at line 67 of file pipe-fd.cc.
References ns3::Current(), DoRecvPacket(), ns3::Thread::err, m_peer, m_readSide, ns3::UtilsDoSignal(), ns3::UtilsSendSignal(), and ns3::UnixFd::WakeWaiters().
|
private |
Definition at line 86 of file pipe-fd.h.
Referenced by DoRecvPacket(), Poll(), and Read().
|
private |
Definition at line 83 of file pipe-fd.h.
Referenced by Close(), DoRecvPacket(), HangupReceived(), PipeFd(), Poll(), Read(), and Write().
|
private |
|
private |
Definition at line 85 of file pipe-fd.h.
Referenced by DoRecvPacket(), Fcntl(), and Read().