#include <serialise.hh>
Public Member Functions | |
FdSource (Descriptor fd) | |
FdSource (FdSource &&)=default | |
FdSource & | operator= (FdSource &&s)=default |
bool | good () override |
bool | hasData () |
![]() | |
BufferedSource (size_t bufSize=32 *1024) | |
size_t | read (char *data, size_t len) override |
bool | hasData () |
![]() | |
void | operator() (char *data, size_t len) |
void | operator() (std::string_view data) |
void | drainInto (Sink &sink) |
std::string | drain () |
Public Attributes | |
Descriptor | fd |
size_t | read = 0 |
BackedStringView | endOfFileError {"unexpected end-of-file"} |
![]() | |
size_t | bufSize |
size_t | bufPosIn |
size_t | bufPosOut |
std::unique_ptr< char[]> | buffer |
Protected Member Functions | |
size_t | readUnbuffered (char *data, size_t len) override |
A source that reads data from a file descriptor.
|
overridevirtual |
Reimplemented from nix::Source.
bool nix::FdSource::hasData | ( | ) |
Return true if the buffer is not empty after a non-blocking read.
Underlying read call, to be overridden.
Implements nix::BufferedSource.