|
| enum class | Status {
Ready
, Eof
, WouldBlock
, Interrupted
,
Closed
, Invalid
} |
| |
| using | ChangeCallback = void(*)(void *) |
| |
|
| | PipeBuffer (ChangeCallback changed=nullptr, void *context=nullptr) |
| |
|
| PipeBuffer (const PipeBuffer &)=delete |
| |
|
PipeBuffer & | operator= (const PipeBuffer &)=delete |
| |
| size_t | read (uint8_t *destination, size_t count, bool block=true) |
| |
| size_t | write (const uint8_t *source, size_t count, bool block=true) |
| |
| size_t | writeAtomic (const uint8_t *source, size_t count, bool block=true) |
| |
| bool | canRead (bool block) |
| |
| bool | canWrite (bool block) |
| |
| uint64_t | readableGeneration () const |
| |
| uint64_t | writableGeneration () const |
| |
| size_t | getDataSize () |
| |
| void | disableReads () |
| |
| void | disableWrites () |
| |
| bool | enableReads () |
| |
| bool | enableWrites (bool resetIfPreviouslyDisabled=false) |
| |
| void | wipe () |
| |
| void | close () |
| |
| Result | reserveRead (size_t maximum, bool block, ReadReservation &reservation) |
| |
| Result | reserveWrite (size_t maximum, bool block, WriteReservation &reservation) |
| |
| Result | waitTransfer (bool writing, bool block) |
| |
| Result | transferTo (PipeBuffer &output, size_t maximum, bool consume, bool block) |
| |
Definition at line 12 of file PipeBuffer.h.
◆ ChangeCallback
| using PipeBuffer::ChangeCallback = void (*)(void*) |
◆ Status
| enum class PipeBuffer::Status |
|
strong |
◆ PipeBuffer()
| PipeBuffer::PipeBuffer |
( |
ChangeCallback |
changed = nullptr, |
|
|
void * |
context = nullptr |
|
) |
| |
|
explicit |
◆ ~PipeBuffer()
| PipeBuffer::~PipeBuffer |
( |
| ) |
|
◆ appendLocked()
| void PipeBuffer::appendLocked |
( |
const uint8_t * |
source, |
|
|
size_t |
count |
|
) |
| |
|
private |
◆ beginOperation()
| bool PipeBuffer::beginOperation |
( |
| ) |
|
|
private |
◆ canRead()
| bool PipeBuffer::canRead |
( |
bool |
block | ) |
|
◆ canWrite()
| bool PipeBuffer::canWrite |
( |
bool |
block | ) |
|
◆ changedLocked()
| void PipeBuffer::changedLocked |
( |
| ) |
|
|
private |
◆ close()
| void PipeBuffer::close |
( |
| ) |
|
◆ consumeLocked()
| void PipeBuffer::consumeLocked |
( |
size_t |
count | ) |
|
|
private |
◆ copyOutLocked()
| void PipeBuffer::copyOutLocked |
( |
uint8_t * |
destination, |
|
|
size_t |
count |
|
) |
| const |
|
private |
◆ disableReads()
| void PipeBuffer::disableReads |
( |
| ) |
|
◆ disableWrites()
| void PipeBuffer::disableWrites |
( |
| ) |
|
◆ enableReads()
| bool PipeBuffer::enableReads |
( |
| ) |
|
◆ enableWrites()
| bool PipeBuffer::enableWrites |
( |
bool |
resetIfPreviouslyDisabled = false | ) |
|
◆ endOperation()
| void PipeBuffer::endOperation |
( |
| ) |
|
|
private |
◆ finishResetLocked()
| void PipeBuffer::finishResetLocked |
( |
| ) |
|
|
private |
◆ getDataSize()
| size_t PipeBuffer::getDataSize |
( |
| ) |
|
◆ interrupted()
| bool PipeBuffer::interrupted |
( |
| ) |
|
|
staticprivate |
◆ linkPairLocked()
| void PipeBuffer::linkPairLocked |
( |
PairLink & |
link | ) |
|
|
private |
◆ lock()
| void PipeBuffer::lock |
( |
Mutex & |
mutex | ) |
|
|
staticprivate |
◆ publish()
| void PipeBuffer::publish |
( |
| ) |
|
|
private |
◆ read()
| size_t PipeBuffer::read |
( |
uint8_t * |
destination, |
|
|
size_t |
count, |
|
|
bool |
block = true |
|
) |
| |
◆ readableGeneration()
| uint64_t PipeBuffer::readableGeneration |
( |
| ) |
const |
◆ readableLocked()
| bool PipeBuffer::readableLocked |
( |
| ) |
const |
|
private |
◆ readyLocked()
◆ reserveRead()
◆ reserveWrite()
◆ resetLocked()
| void PipeBuffer::resetLocked |
( |
| ) |
|
|
private |
◆ transferTo()
◆ unlinkPairLocked()
| void PipeBuffer::unlinkPairLocked |
( |
PairLink & |
link | ) |
|
|
private |
◆ wait()
◆ waitLocked()
◆ waitTransfer()
◆ wakePairsLocked()
| void PipeBuffer::wakePairsLocked |
( |
| ) |
|
|
private |
◆ wipe()
| void PipeBuffer::wipe |
( |
| ) |
|
◆ writableGeneration()
| uint64_t PipeBuffer::writableGeneration |
( |
| ) |
const |
◆ writableLocked()
| bool PipeBuffer::writableLocked |
( |
| ) |
const |
|
private |
◆ write()
| size_t PipeBuffer::write |
( |
const uint8_t * |
source, |
|
|
size_t |
count, |
|
|
bool |
block = true |
|
) |
| |
◆ writeAtomic()
| size_t PipeBuffer::writeAtomic |
( |
const uint8_t * |
source, |
|
|
size_t |
count, |
|
|
bool |
block = true |
|
) |
| |
◆ PipeBufferTestPeer
| friend class PipeBufferTestPeer |
|
friend |
◆ Capacity
| constexpr size_t PipeBuffer::Capacity = 4096 |
|
staticconstexpr |
◆ m_ActiveOperations
| size_t PipeBuffer::m_ActiveOperations = 0 |
|
private |
◆ m_Changed
| const ChangeCallback PipeBuffer::m_Changed |
|
private |
◆ m_Closing
| bool PipeBuffer::m_Closing = false |
|
private |
◆ m_Context
| void* const PipeBuffer::m_Context |
|
private |
◆ m_Data
| uint8_t PipeBuffer::m_Data[Capacity] |
|
private |
◆ m_DrainCondition
◆ m_Head
| size_t PipeBuffer::m_Head = 0 |
|
private |
◆ m_Lock
◆ m_PairWaiters
| PairLink* PipeBuffer::m_PairWaiters = nullptr |
|
private |
◆ m_ReadCondition
◆ m_ReadEnabled
| bool PipeBuffer::m_ReadEnabled = true |
|
private |
◆ m_ReadGeneration
| Atomic<uint64_t> PipeBuffer::m_ReadGeneration |
|
private |
◆ m_ReadReserved
| bool PipeBuffer::m_ReadReserved = false |
|
private |
◆ m_ResetPending
| bool PipeBuffer::m_ResetPending = false |
|
private |
◆ m_Size
| size_t PipeBuffer::m_Size = 0 |
|
private |
◆ m_WasReadable
| bool PipeBuffer::m_WasReadable = false |
|
private |
◆ m_WasWritable
| bool PipeBuffer::m_WasWritable = true |
|
private |
◆ m_WriteCondition
◆ m_WriteEnabled
| bool PipeBuffer::m_WriteEnabled = true |
|
private |
◆ m_WriteGeneration
| Atomic<uint64_t> PipeBuffer::m_WriteGeneration |
|
private |
◆ m_WriteReserved
| bool PipeBuffer::m_WriteReserved = false |
|
private |
The documentation for this class was generated from the following files: