Base class for all Pulp byte streams. More...
#include <stream.hpp>
Public Member Functions | |
| virtual | ~Stream ()=default |
| Stream (const Stream &)=delete | |
| Stream & | operator= (const Stream &)=delete |
| virtual StreamResult | read (std::uint8_t *buffer, std::size_t size)=0 |
| Read up to size bytes into buffer. | |
| virtual StreamResult | write (const std::uint8_t *buffer, std::size_t size)=0 |
| Write up to size bytes from buffer. | |
| virtual void | close ()=0 |
| Close the stream. Idempotent. | |
| virtual bool | is_open () const =0 |
| True while the stream is usable for read/write. | |
Protected Member Functions | |
| Stream ()=default | |
Base class for all Pulp byte streams.
Implementations must be safe to destroy from any thread, but individual instances are not thread-safe: callers coordinate access (typically the owning AsyncStream serializes on a worker thread).
|
virtualdefault |
|
delete |
|
protecteddefault |
|
pure virtual |
Close the stream. Idempotent.
Implemented in pulp::runtime::FileStream, pulp::runtime::HttpStream, pulp::runtime::MemoryStream, pulp::runtime::PipeStream, and pulp::runtime::TcpStream.
|
pure virtual |
True while the stream is usable for read/write.
Implemented in pulp::runtime::FileStream, pulp::runtime::HttpStream, pulp::runtime::MemoryStream, pulp::runtime::PipeStream, and pulp::runtime::TcpStream.
|
pure virtual |
Read up to size bytes into buffer.
Returns how many bytes were written, or an error. buffer may be partially filled on error.
Implemented in pulp::runtime::FileStream, pulp::runtime::HttpStream, pulp::runtime::MemoryStream, pulp::runtime::PipeStream, and pulp::runtime::TcpStream.
|
pure virtual |
Write up to size bytes from buffer.
Returns how many bytes were consumed. Partial writes are permitted — callers loop until satisfied or treat the short return as backpressure.
Implemented in pulp::runtime::FileStream, pulp::runtime::HttpStream, pulp::runtime::MemoryStream, pulp::runtime::PipeStream, and pulp::runtime::TcpStream.