#include <CFileDataSink>
CFileDataSink : public CDataSink {
CFileDataSink(int fd);
CFileDataSink(std::string path);
virtual void putItem(const CRingItem& item);
virtual void put(const void* pData, size_t nBytes);
void flush();
};
CFileDataSink(int fd);
Constructs a file data sink using a file descriptor
fd. The
file descriptor is something that must have come from
functions like open,
dup, socket etc.
Note that this implies that CFileDataSink
can actually send data to anything that can be
represented by a file descriptor.
If fd is not writable (e.g. was opened
as O_RDONLY) an
std::string exception is thrown
with text indicating this fact
CFileDataSink(std::string path);
Creates a file data sink that sinks to the
path in the filesystem.
path must be able to be created
and written to once created. If path
already exists, all data are overwritten.
If the file could not be opened for write, an
std::string exceptionis
thrown indicating this fact.
virtual void putItem(const CRingItem& item);
Puts a ring item (item), to file.
Any failure is signalled by a CErrnoException
whose ReasonCode reflects the
errno at the time of the failing function
call.
virtual void put(const void* pData, size_t nBytes);
Writes nBytes of arbitraty data
pointed to by pData to the file.
Errors are signalled via CErrnoException
exceptions.
void flush();
Ensures that any data buffered by the operating system
is actually written to the objet identified by the
sink file descriptor.
flush will block until this has
happened.