jaulib v1.3.0
Jau Support Library (C++, Java, ..)
|
Secure Memory-Based byte input stream. More...
#include <byte_stream.hpp>
Public Member Functions | |
ByteInStream_SecMemory (const std::string &in) | |
Construct a secure memory source that reads from a string. More... | |
ByteInStream_SecMemory (const std::vector< uint8_t > &in) | |
Construct a secure memory source that reads from a std::vector. More... | |
ByteInStream_SecMemory (const uint8_t in[], size_t length) | |
Construct a secure memory source that reads from a byte array. More... | |
ByteInStream_SecMemory (io::secure_vector< uint8_t > in) | |
Construct a secure memory source that reads from a secure_vector. More... | |
~ByteInStream_SecMemory () noexcept override | |
bool | available (size_t n) noexcept override |
Return whether n bytes are available in the input stream, if has_content_size() or using an asynchronous source. More... | |
void | close () noexcept override |
Close the stream if supported by the underlying mechanism. More... | |
uint64_t | content_size () const noexcept override |
Returns the content_size if known. More... | |
bool | has_content_size () const noexcept override |
Returns true if implementation is aware of content_size(), otherwise false. More... | |
bool | is_open () const noexcept override |
Checks if the stream has an associated file. More... | |
size_t | peek (void *, size_t, size_t) noexcept override |
Read from the source but do not modify the internal offset. More... | |
size_t | read (void *, size_t) noexcept override |
Read from the source. More... | |
uint64_t | tellg () const noexcept override |
Returns the input position indicator, similar to std::basic_istream. More... | |
std::string | to_string () const noexcept override |
Public Member Functions inherited from jau::io::ByteInStream | |
ByteInStream () noexcept | |
ByteInStream (const ByteInStream &)=delete | |
~ByteInStream () noexcept override=default | |
virtual bool | available (size_t n) noexcept=0 |
Return whether n bytes are available in the input stream, if has_content_size() or using an asynchronous source. More... | |
virtual void | close () noexcept=0 |
Close the stream if supported by the underlying mechanism. More... | |
virtual uint64_t | content_size () const noexcept=0 |
Returns the content_size if known. More... | |
size_t | discard (size_t N) noexcept |
Discard the next N bytes of the data. More... | |
virtual bool | has_content_size () const noexcept=0 |
Returns true if implementation is aware of content_size(), otherwise false. More... | |
virtual std::string | id () const noexcept |
return the id of this data source More... | |
virtual bool | is_open () const noexcept=0 |
Checks if the stream has an associated file. More... | |
ByteInStream & | operator= (const ByteInStream &)=delete |
bool | peek (uint8_t &out) noexcept |
Peek at one byte. More... | |
virtual size_t | peek (void *out, size_t length, size_t peek_offset) noexcept=0 |
Read from the source but do not modify the internal offset. More... | |
bool | read (uint8_t &out) noexcept |
Read one byte. More... | |
virtual size_t | read (void *out, size_t length) noexcept=0 |
Read from the source. More... | |
virtual uint64_t | tellg () const noexcept=0 |
Returns the input position indicator, similar to std::basic_istream. More... | |
virtual std::string | to_string () const noexcept=0 |
Public Member Functions inherited from jau::io::iostate_func | |
iostate_func () noexcept | |
iostate_func (const iostate_func &o) noexcept=default | |
iostate_func (iostate_func &&o) noexcept=default | |
virtual | ~iostate_func () noexcept=default |
bool | bad () const noexcept |
Checks if a non-recoverable error has occurred. More... | |
virtual void | clear (const iostate state=iostate::goodbit) noexcept |
Clears state flags by assignment to the given value. More... | |
bool | eof () const noexcept |
Checks if end-of-file has been reached. More... | |
bool | fail () const noexcept |
Checks if an error has occurred. More... | |
bool | good () const noexcept |
Checks if no error nor eof() has occurred i.e. More... | |
operator bool () const noexcept | |
Checks if no error has occurred, synonym of !fail(). More... | |
bool | operator! () const noexcept |
Checks if an error has occurred, synonym of fail(). More... | |
iostate_func & | operator= (const iostate_func &o) noexcept=default |
iostate_func & | operator= (iostate_func &&o) noexcept=default |
virtual iostate | rdstate () const noexcept |
Returns the current state flags. More... | |
void | setstate (const iostate state) noexcept |
Sets state flags, by keeping its previous bits. More... | |
bool | timeout () const noexcept |
Checks if a timeout (non-recoverable) has occurred. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from jau::io::iostate_func | |
constexpr iostate | rdstate_impl () const noexcept |
constexpr void | setstate_impl (iostate state) const noexcept |
Secure Memory-Based byte input stream.
Definition at line 321 of file byte_stream.hpp.
|
explicit |
Construct a secure memory source that reads from a string.
in | the string to read from |
Definition at line 134 of file byte_stream.cpp.
|
inline |
Construct a secure memory source that reads from a byte array.
in | the byte array to read from |
length | the length of the byte array |
Definition at line 340 of file byte_stream.hpp.
|
inlineexplicit |
Construct a secure memory source that reads from a secure_vector.
in | the MemoryRegion to read from |
Definition at line 347 of file byte_stream.hpp.
|
inlineexplicit |
Construct a secure memory source that reads from a std::vector.
in | the MemoryRegion to read from |
Definition at line 354 of file byte_stream.hpp.
|
inlineoverridenoexcept |
Definition at line 361 of file byte_stream.hpp.
|
overridevirtualnoexcept |
Read from the source.
Moves the internal offset so that every call to read will return a new portion of the source.
Use available() to try to wait for a certain amount of bytes available.
This method shall only block until min(available, length)
bytes are transfered.
See details of the implementing class.
out | the byte array to write the result to |
length | the length of the byte array out |
Implements jau::io::ByteInStream.
Definition at line 107 of file byte_stream.cpp.
|
overridevirtualnoexcept |
Read from the source but do not modify the internal offset.
Consecutive calls to peek() will return portions of the source starting at the same position.
out | the byte array to write the output to |
length | the length of the byte array out |
peek_offset | the offset into the stream to read at |
Implements jau::io::ByteInStream.
Definition at line 124 of file byte_stream.cpp.
|
overridevirtualnoexcept |
Return whether n bytes are available in the input stream, if has_content_size() or using an asynchronous source.
If !has_content_size() and not being an asynchronous source, !end_of_data() is returned.
Method may be blocking when using an asynchronous source up until the requested bytes are available.
A subsequent call to read() shall return immediately with at least the requested numbers of bytes available, if has_content_size() or using an asynchronous source.
See details of the implementing class.
n | byte count to wait for |
Implements jau::io::ByteInStream.
Definition at line 120 of file byte_stream.cpp.
|
inlineoverridevirtualnoexcept |
Checks if the stream has an associated file.
Implements jau::io::ByteInStream.
Definition at line 357 of file byte_stream.hpp.
|
overridevirtualnoexcept |
Close the stream if supported by the underlying mechanism.
Implements jau::io::ByteInStream.
Definition at line 140 of file byte_stream.cpp.
|
inlineoverridevirtualnoexcept |
Returns the input position indicator, similar to std::basic_istream.
Implements jau::io::ByteInStream.
Definition at line 363 of file byte_stream.hpp.
|
inlineoverridevirtualnoexcept |
Returns true if implementation is aware of content_size(), otherwise false.
Implements jau::io::ByteInStream.
Definition at line 365 of file byte_stream.hpp.
|
inlineoverridevirtualnoexcept |
Returns the content_size if known.
Implements jau::io::ByteInStream.
Definition at line 367 of file byte_stream.hpp.
|
overridevirtualnoexcept |
Implements jau::io::ByteInStream.
Definition at line 146 of file byte_stream.cpp.