Go to the documentation of this file.
31 SharedMemoryStream(std::shared_ptr<T>(buffer),
size_t size) : buffer(buffer), capacity(size *
sizeof(T))
42 return capacity - readPos;
52 size_t written = std::min(bufSize,
available());
53 auto bufptr =
reinterpret_cast<const uint8_t*
>(buffer.get()) + readPos;
54 memcpy(data, bufptr, written);
59 bool seek(
int len)
override
61 if(readPos + len > capacity) {
75 std::shared_ptr<T> buffer;
Base class for read-only stream.
Definition: DataSourceStream.h:45
size_t getCapacity() const
Definition: SharedMemoryStream.h:53
StreamType getStreamType() const override
Get the stream type.
Definition: SharedMemoryStream.h:43
SharedMemoryStream(std::shared_ptr< T >(buffer), size_t size)
Constructor for use with pre-existing buffer.
Definition: SharedMemoryStream.h:39
StreamType
Data stream type.
Definition: DataSourceStream.h:25
bool isFinished() override
Check if all data has been read.
Definition: SharedMemoryStream.h:77
int available() override
Return the total length of the stream.
Definition: SharedMemoryStream.h:48
uint16_t readMemoryBlock(char *data, int bufSize) override
Read a block of memory.
Definition: SharedMemoryStream.h:58
@ eSST_Memory
Memory stream.
Definition: DataSourceStream.h:27
Memory stream operating on fixed shared buffer.
Definition: SharedMemoryStream.h:24
bool seek(int len) override
Move read cursor.
Definition: SharedMemoryStream.h:67