eckit::DataHandle class

Base classes

class Streamable

Derived classes

class AIOHandle
class AsyncHandle
class BufferedHandle
class EmptyHandle
class FTPHandle
class FileDescHandle
class FileHandle
class InstantTCPSocketHandle
class MMappedFileHandle
class MemoryHandle
class MultiHandle
class MultiSocketHandle
class PartFileHandle
class PartHandle
class PeekHandle
class PipeHandle
class PooledHandle
class RadosHandle
class RadosReadHandle
class RadosWriteHandle
class RawFileHandle
class SeekableHandle
class SharedHandle
class StatsHandle
class TCPHandle
class TeeHandle
class URLHandle
class TransportHandle

Public static functions

static auto classSpec() -> const ClassSpec&

Constructors, destructors, conversion operators

DataHandle()
DataHandle(Stream&)
~DataHandle() override

Public functions

void print(std::ostream& s) const pure virtual
auto openForRead() -> Length virtual
void openForWrite(const Length&) virtual
void openForAppend(const Length&) virtual
auto read(void*, long) -> long virtual
auto write(const void*, long) -> long virtual
void close() virtual
void flush() virtual
auto size() -> Length virtual
auto estimate() -> Length virtual
auto position() -> Offset virtual
auto seek(const Offset&) -> Offset virtual
auto canSeek() const -> bool virtual
void skip(const Length&) virtual
void rewind() virtual
void restartReadFrom(const Offset&) virtual
void restartWriteFrom(const Offset&) virtual
auto clone() const -> DataHandle* virtual
auto saveInto(DataHandle&, TransferWatcher& = TransferWatcher::dummy()) -> Length virtual
Save into an other datahandle.
auto saveInto(const PathName&, TransferWatcher& = TransferWatcher::dummy()) -> Length virtual
Save into a file.
auto copyTo(DataHandle&, long bufsize = -1, Length maxsize = -1, TransferWatcher& = TransferWatcher::dummy()) -> Length virtual
auto name() const -> std::string virtual
auto openf(const char* mode, bool delete_on_close = false) -> FILE*
Create a FILE* from this handle.
auto openf(bool delete_on_close = false) -> FILE*
auto compare(DataHandle&) -> bool
Compare bytes.
auto compress(bool = false) -> bool virtual
auto merge(DataHandle*) -> bool virtual
auto isEmpty() const -> bool virtual
auto moveable() const -> bool virtual
void toLocal(Stream& s) const virtual
auto toLocal() -> DataHandle* virtual
void toRemote(Stream& s) const virtual
void selectMover(MoverTransferSelection&, bool read) const virtual
auto title() const -> std::string virtual
auto metricsTag() const -> std::string virtual
void collectMetrics(const std::string& what) const virtual
void hash(MD5& md5) const virtual
auto doubleBufferOK() const -> bool virtual
void encode(Stream&) const override
auto reanimator() const -> const ReanimatorBase& override
auto className() const -> std::string virtual

Friends

auto operator<<(std::ostream& s, const DataHandle& handle) -> std::ostream&
auto operator<<(MD5& s, const DataHandle& handle) -> MD5&

Function documentation

Length eckit::DataHandle::copyTo(DataHandle&, long bufsize = -1, Length maxsize = -1, TransferWatcher& = TransferWatcher::dummy()) virtual

Quiet version of saveInto Does not support progess, restart and double buffering

std::string eckit::DataHandle::className() const virtual