12#ifndef ROOT_RRawFileDavix
13#define ROOT_RRawFileDavix
37 std::unique_ptr<Internal::RDavixFileDes>
fFileDes;
41 size_t ReadAtImpl(
void *buffer,
size_t nbytes, std::uint64_t offset) final;
std::unique_ptr< Internal::RDavixFileDes > fFileDes
void ReadVImpl(RIOVec *ioVec, unsigned int nReq) final
By default implemented as a loop of ReadAt calls but can be overwritten, e.g. XRootD or DAVIX impleme...
size_t ReadAtImpl(void *buffer, size_t nbytes, std::uint64_t offset) final
Derived classes should implement low-level reading without buffering.
std::unique_ptr< RRawFile > Clone() const final
Create a new RawFile that accesses the same resource. The file pointer is reset to zero.
RRawFileDavix(std::string_view url, RRawFile::ROptions options)
std::uint64_t GetSizeImpl() final
Derived classes should return the file size.
void OpenImpl() final
OpenImpl() is called at most once and before any call to either DoReadAt or DoGetSize.
RRawFile(std::string_view url, ROptions options)
Used for vector reads from multiple offsets into multiple buffers.
On construction, an ROptions parameter can customize the RRawFile behavior.