C/C++ API Reference
Loading...
Searching...
No Matches
pw::stream::BufferedMpscReader< kCapacity > Class Template Reference

Overview

template<size_t kCapacity>
class pw::stream::BufferedMpscReader< kCapacity >

Reader for a multi-producer, single consumer stream.

This class includes an explicitly-sized buffer. It has a default constructor that can only produce a disconnected reader. To connect a reader, use CreateMpscStream().

Inheritance diagram for pw::stream::BufferedMpscReader< kCapacity >:
pw::stream::MpscReader pw::stream::NonSeekableReader pw::stream::Reader pw::stream::Stream

Additional Inherited Members

- Public Types inherited from pw::stream::MpscReader
using duration = std::optional< chrono::SystemClock::duration >
 
using ReadAllCallback = Function< Status(ConstByteSpan data)>
 
- Public Types inherited from pw::stream::Stream
enum  Whence : uint8_t { kBeginning = 0b001 , kCurrent = 0b010 , kEnd = 0b100 }
 Positions from which to seek. More...
 
- Public Member Functions inherited from pw::stream::MpscReader
bool connected () const
 Returns whether this object has any connected writers.
 
void SetTimeout (const duration &timeout)
 
void SetBuffer (ByteSpan buffer)
 
Status ReadAll (ReadAllCallback callback)
 
void Close ()
 Disconnects all writers and drops any unread data.
 
- Public Member Functions inherited from pw::stream::Stream
constexpr bool readable () const
 
constexpr bool writable () const
 
constexpr bool seekable () const
 
constexpr bool seekable (Whence origin) const
 True if the stream supports seeking from the specified origin.
 
Result< ByteSpanRead (ByteSpan dest)
 
Result< ByteSpanRead (void *dest, size_t size_bytes)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Result< ByteSpanReadExact (ByteSpan const buffer)
 
Status Write (ConstByteSpan data)
 
Status Write (const void *data, size_t size_bytes)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Status Write (const std::byte b)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Status Seek (ptrdiff_t offset, Whence origin=kBeginning)
 
size_t Tell ()
 
size_t ConservativeReadLimit () const
 
size_t ConservativeWriteLimit () const
 
- Static Public Attributes inherited from pw::stream::Stream
static constexpr size_t kUnlimited = std::numeric_limits<size_t>::max()
 Value returned from read/write limit if unlimited.
 
static constexpr size_t kUnknownPosition = std::numeric_limits<size_t>::max()
 Returned by Tell() if getting the position is not supported.
 
- Protected Types inherited from pw::stream::Stream
enum class  LimitType : bool { kRead , kWrite }
 

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