|
The Pedigree Project 0.1
|
Collaboration diagram for UnixSocketConnection::Stream:Classes | |
| struct | Control |
| class | ControlGuard |
| struct | Packet |
Public Member Functions | |
| Stream (bool packets) | |
| size_t | write (const uint8_t *buffer, size_t count, bool block, const SharedPointer< SocketRights > &rights=SharedPointer< SocketRights >(), bool *interrupted=nullptr) |
| size_t | writeVectors (const struct iovec *vectors, size_t vectorCount, bool block, const SharedPointer< SocketRights > &rights, bool *interrupted=nullptr) |
| size_t | read (uint8_t *buffer, size_t count, bool block, SharedPointer< SocketRights > *rights=nullptr, bool *interrupted=nullptr) |
| size_t | readVectors (struct iovec *vectors, size_t vectorCount, bool block, SharedPointer< SocketRights > *rights, bool *interrupted=nullptr) |
| bool | writePacket (const uint8_t *buffer, size_t count, bool block, const SharedPointer< SocketRights > &rights, bool *interrupted) |
| bool | readPacket (uint8_t *buffer, size_t count, bool block, SharedPointer< SocketRights > &rights, uint64_t &bytesRead, uint64_t &packetLength, bool *interrupted) |
| Buffer< uint8_t, true > & | records () |
| bool | canWrite (bool block) |
| bool | canRead (bool block) |
| uint64_t | readableGeneration () const |
| uint64_t | writableGeneration () const |
| void | disableWrites () |
| void | disableReads () |
| void | monitor (Semaphore *waiter) |
| void | monitor (Thread *thread, Event *event) |
| void | cullMonitorTargets (Semaphore *waiter) |
| void | cullMonitorTargets (Event *event) |
| Buffer< uint8_t, true > & | buffer () |
Private Member Functions | |
| void | discardControls () |
| void | discardControlsIfRequested () |
Private Attributes | |
| const bool | m_Packets |
| Buffer< uint8_t, true > | m_Records |
| List< Packet * > | m_PendingPackets |
| Buffer< uint8_t, true > | m_Bytes |
| UnixStreamSerializationGate | m_SendLock |
| UnixStreamSerializationGate | m_ReceiveLock |
| Mutex | m_ControlLock |
| Atomic< bool > | m_DiscardControlsRequested |
| List< Control * > | m_Controls |
| uint64_t | m_BytesWritten |
| uint64_t | m_BytesRead |
One ordered byte/control direction in a connected stream socket pair.
Definition at line 100 of file UnixFilesystem.h.
|
explicit |
Definition at line 199 of file UnixFilesystem.cc.
| UnixSocketConnection::Stream::~Stream | ( | ) |
Definition at line 218 of file UnixFilesystem.cc.
|
inline |
Definition at line 135 of file UnixFilesystem.h.
| bool UnixSocketConnection::Stream::canRead | ( | bool | block | ) |
Definition at line 468 of file UnixFilesystem.cc.
| bool UnixSocketConnection::Stream::canWrite | ( | bool | block | ) |
Definition at line 464 of file UnixFilesystem.cc.
| void UnixSocketConnection::Stream::cullMonitorTargets | ( | Event * | event | ) |
Definition at line 530 of file UnixFilesystem.cc.
| void UnixSocketConnection::Stream::cullMonitorTargets | ( | Semaphore * | waiter | ) |
Definition at line 522 of file UnixFilesystem.cc.
| void UnixSocketConnection::Stream::disableReads | ( | ) |
Definition at line 485 of file UnixFilesystem.cc.
| void UnixSocketConnection::Stream::disableWrites | ( | ) |
Definition at line 480 of file UnixFilesystem.cc.
|
private |
Definition at line 538 of file UnixFilesystem.cc.
|
private |
Definition at line 547 of file UnixFilesystem.cc.
| void UnixSocketConnection::Stream::monitor | ( | Semaphore * | waiter | ) |
Definition at line 506 of file UnixFilesystem.cc.
Definition at line 514 of file UnixFilesystem.cc.
| size_t UnixSocketConnection::Stream::read | ( | uint8_t * | buffer, |
| size_t | count, | ||
| bool | block, | ||
| SharedPointer< SocketRights > * | rights = nullptr, |
||
| bool * | interrupted = nullptr |
||
| ) |
Definition at line 303 of file UnixFilesystem.cc.
| uint64_t UnixSocketConnection::Stream::readableGeneration | ( | ) | const |
Definition at line 472 of file UnixFilesystem.cc.
| bool UnixSocketConnection::Stream::readPacket | ( | uint8_t * | buffer, |
| size_t | count, | ||
| bool | block, | ||
| SharedPointer< SocketRights > & | rights, | ||
| uint64_t & | bytesRead, | ||
| uint64_t & | packetLength, | ||
| bool * | interrupted | ||
| ) |
Definition at line 427 of file UnixFilesystem.cc.
| size_t UnixSocketConnection::Stream::readVectors | ( | struct iovec * | vectors, |
| size_t | vectorCount, | ||
| bool | block, | ||
| SharedPointer< SocketRights > * | rights, | ||
| bool * | interrupted = nullptr |
||
| ) |
Definition at line 309 of file UnixFilesystem.cc.
|
inline |
Definition at line 120 of file UnixFilesystem.h.
| uint64_t UnixSocketConnection::Stream::writableGeneration | ( | ) | const |
Definition at line 476 of file UnixFilesystem.cc.
| size_t UnixSocketConnection::Stream::write | ( | const uint8_t * | buffer, |
| size_t | count, | ||
| bool | block, | ||
| const SharedPointer< SocketRights > & | rights = SharedPointer<SocketRights>(), |
||
| bool * | interrupted = nullptr |
||
| ) |
Definition at line 224 of file UnixFilesystem.cc.
| bool UnixSocketConnection::Stream::writePacket | ( | const uint8_t * | buffer, |
| size_t | count, | ||
| bool | block, | ||
| const SharedPointer< SocketRights > & | rights, | ||
| bool * | interrupted | ||
| ) |
Definition at line 390 of file UnixFilesystem.cc.
| size_t UnixSocketConnection::Stream::writeVectors | ( | const struct iovec * | vectors, |
| size_t | vectorCount, | ||
| bool | block, | ||
| const SharedPointer< SocketRights > & | rights, | ||
| bool * | interrupted = nullptr |
||
| ) |
Definition at line 231 of file UnixFilesystem.cc.
|
private |
Definition at line 174 of file UnixFilesystem.h.
|
private |
Definition at line 181 of file UnixFilesystem.h.
|
private |
Definition at line 180 of file UnixFilesystem.h.
|
private |
Definition at line 177 of file UnixFilesystem.h.
Definition at line 179 of file UnixFilesystem.h.
|
private |
Definition at line 178 of file UnixFilesystem.h.
|
private |
Definition at line 171 of file UnixFilesystem.h.
Definition at line 173 of file UnixFilesystem.h.
|
private |
Definition at line 176 of file UnixFilesystem.h.
|
private |
Definition at line 172 of file UnixFilesystem.h.
|
private |
Definition at line 175 of file UnixFilesystem.h.