eckit::PartFileHandle class

Base classes

class DataHandle

Public static functions

static auto classSpec() -> const ClassSpec&

Constructors, destructors, conversion operators

PartFileHandle(const PathName&, const OffsetList&, const LengthList&)
PartFileHandle(const PathName&, const Offset&, const Length&)
PartFileHandle(Stream&) explicit
~PartFileHandle() override

Public functions

auto path() const -> const PathName&
auto openForRead() -> Length override
void openForWrite(const Length&) override
void openForAppend(const Length&) override
auto read(void*, long) -> long override
auto write(const void*, long) -> long override
void close() override
void rewind() override
void print(std::ostream&) const override
auto merge(DataHandle*) -> bool override
auto compress(bool = false) -> bool override
auto size() -> Length override
auto estimate() -> Length override
void restartReadFrom(const Offset& from) override
auto position() -> Offset override
auto seek(const Offset&) -> Offset override
auto canSeek() const -> bool override
void selectMover(MoverTransferSelection&, bool read) const override
auto title() const -> std::string override
auto metricsTag() const -> std::string override
auto moveable() const -> bool override
auto clone() const -> DataHandle* override
void encode(Stream&) const override
auto reanimator() const -> const ReanimatorBase& override
void flush() virtual
void skip(const Length&) virtual
void restartWriteFrom(const Offset&) 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 isEmpty() const -> bool virtual
void toLocal(Stream& s) const virtual
auto toLocal() -> DataHandle* virtual
void toRemote(Stream& s) const virtual
void collectMetrics(const std::string& what) const virtual
void hash(MD5& md5) const virtual
auto doubleBufferOK() const -> bool virtual
auto className() const -> std::string virtual

Function documentation

void eckit::PartFileHandle::flush() virtual

void eckit::PartFileHandle::skip(const Length&) virtual

void eckit::PartFileHandle::restartWriteFrom(const Offset&) virtual

Length eckit::PartFileHandle::saveInto(DataHandle&, TransferWatcher& = TransferWatcher::dummy()) virtual

Save into an other datahandle.

Length eckit::PartFileHandle::saveInto(const PathName&, TransferWatcher& = TransferWatcher::dummy()) virtual

Save into a file.

Length eckit::PartFileHandle::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::PartFileHandle::name() const virtual

FILE* eckit::PartFileHandle::openf(const char* mode, bool delete_on_close = false)

Create a FILE* from this handle.

FILE* eckit::PartFileHandle::openf(bool delete_on_close = false)

bool eckit::PartFileHandle::compare(DataHandle&)

Compare bytes.

bool eckit::PartFileHandle::isEmpty() const virtual

void eckit::PartFileHandle::toLocal(Stream& s) const virtual

DataHandle* eckit::PartFileHandle::toLocal() virtual

void eckit::PartFileHandle::toRemote(Stream& s) const virtual

void eckit::PartFileHandle::collectMetrics(const std::string& what) const virtual

void eckit::PartFileHandle::hash(MD5& md5) const virtual

bool eckit::PartFileHandle::doubleBufferOK() const virtual

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

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.