Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
nix::FdSource Struct Reference

#include <serialise.hh>

Inheritance diagram for nix::FdSource:
nix::BufferedSource nix::Source

Public Member Functions

 FdSource (Descriptor fd)
 
 FdSource (FdSource &&)=default
 
FdSourceoperator= (FdSource &&s)=default
 
bool good () override
 
bool hasData ()
 
- Public Member Functions inherited from nix::BufferedSource
 BufferedSource (size_t bufSize=32 *1024)
 
size_t read (char *data, size_t len) override
 
bool hasData ()
 
- Public Member Functions inherited from nix::Source
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"}
 
- Public Attributes inherited from nix::BufferedSource
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
 

Detailed Description

A source that reads data from a file descriptor.

Member Function Documentation

◆ good()

bool nix::FdSource::good ( )
overridevirtual

Reimplemented from nix::Source.

◆ hasData()

bool nix::FdSource::hasData ( )

Return true if the buffer is not empty after a non-blocking read.

◆ readUnbuffered()

size_t nix::FdSource::readUnbuffered ( char * data,
size_t len )
overrideprotectedvirtual

Underlying read call, to be overridden.

Implements nix::BufferedSource.


The documentation for this struct was generated from the following files: