The RRawFileUnix class uses POSIX calls to read from a mounted file system.
Thus the path name can refer, for instance, to a named pipe instead of a regular file.
Definition at line 31 of file RRawFileUnix.hxx.
| Public Member Functions | |
| RRawFileUnix (std::string_view url, RRawFile::ROptions options) | |
| ~RRawFileUnix () override | |
| std::unique_ptr< RRawFile > | Clone () const final | 
| Create a new RawFile that accesses the same resource. The file pointer is reset to zero. | |
| int | GetFd () const | 
|  Public Member Functions inherited from ROOT::Internal::RRawFile | |
| RRawFile (const RRawFile &)=delete | |
| RRawFile (std::string_view url, ROptions options) | |
| virtual | ~RRawFile ()=default | 
| std::uint64_t | GetFilePos () const | 
| Returns the offset for the next Read/Readln call. | |
| virtual RIOVecLimits | GetReadVLimits () | 
| Returns the limits regarding the ioVec input to ReadV for this specific file; may open the file as a side-effect. | |
| std::uint64_t | GetSize () | 
| Returns the size of the file. | |
| std::string | GetUrl () const | 
| Returns the url of the file. | |
| bool | IsBuffering () const | 
| bool | IsOpen () const | 
| Once opened, the file stay open until destruction of the RRawFile object. | |
| RRawFile & | operator= (const RRawFile &)=delete | 
| size_t | Read (void *buffer, size_t nbytes) | 
| Read from fFilePos offset. Returns the actual number of bytes read. | |
| size_t | ReadAt (void *buffer, size_t nbytes, std::uint64_t offset) | 
| Buffered read from a random position. | |
| bool | Readln (std::string &line) | 
| Read the next line starting from the current value of fFilePos. Returns false if the end of the file is reached. | |
| void | ReadV (RIOVec *ioVec, unsigned int nReq) | 
| Opens the file if necessary and calls ReadVImpl. | |
| void | Seek (std::uint64_t offset) | 
| Change the cursor fFilePos. | |
| void | SetBuffering (bool value) | 
| Turn off buffered reads; all scalar read requests go directly to the implementation. | |
| Protected Member Functions | |
| 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. | |
| size_t | ReadAtImpl (void *buffer, size_t nbytes, std::uint64_t offset) final | 
| Derived classes should implement low-level reading without buffering. | |
| 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 implementations. | |
|  Protected Member Functions inherited from ROOT::Internal::RRawFile | |
| void | EnsureOpen () | 
| Open the file if not already open. Otherwise noop. | |
| Private Attributes | |
| int | fFileDes = -1 | 
| Additional Inherited Members | |
|  Public Types inherited from ROOT::Internal::RRawFile | |
| enum class | ELineBreaks { kAuto , kSystem , kUnix , kWindows } | 
| kAuto detects the line break from the first line, kSystem picks the system's default  More... | |
|  Static Public Member Functions inherited from ROOT::Internal::RRawFile | |
| static std::unique_ptr< RRawFile > | Create (std::string_view url, ROptions options=ROptions()) | 
| Factory method that returns a suitable concrete implementation according to the transport in the url. | |
| static std::string | GetLocation (std::string_view url) | 
| Returns only the file location, e.g. "server/file" for http://server/file. | |
| static std::string | GetTransport (std::string_view url) | 
| Returns only the transport protocol in lower case, e.g. "http" for HTTP://server/file. | |
|  Protected Attributes inherited from ROOT::Internal::RRawFile | |
| std::uint64_t | fFilePos = 0 | 
| The current position in the file, which can be changed by Seek, Read, and Readln. | |
| ROptions | fOptions | 
| std::string | fUrl | 
#include <ROOT/RRawFileUnix.hxx>
| ROOT::Internal::RRawFileUnix::RRawFileUnix | ( | std::string_view | url, | 
| RRawFile::ROptions | options ) | 
Definition at line 37 of file RRawFileUnix.cxx.
| 
 | override | 
Definition at line 39 of file RRawFileUnix.cxx.
| 
 | finalvirtual | 
Create a new RawFile that accesses the same resource. The file pointer is reset to zero.
Implements ROOT::Internal::RRawFile.
Definition at line 45 of file RRawFileUnix.cxx.
| 
 | inline | 
Definition at line 45 of file RRawFileUnix.hxx.
| 
 | finalprotectedvirtual | 
Derived classes should return the file size.
Implements ROOT::Internal::RRawFile.
Definition at line 50 of file RRawFileUnix.cxx.
| 
 | finalprotectedvirtual | 
OpenImpl() is called at most once and before any call to either DoReadAt or DoGetSize.
If fOptions.fBlocksize is negative, derived classes are responsible to set a sensible value. After a call to OpenImpl(), fOptions.fBlocksize must be larger or equal to zero.
Implements ROOT::Internal::RRawFile.
Definition at line 64 of file RRawFileUnix.cxx.
| 
 | finalprotectedvirtual | 
Derived classes should implement low-level reading without buffering.
Short reads indicate the end of the file, therefore derived classes should return nbytes bytes if available.
Implements ROOT::Internal::RRawFile.
Definition at line 129 of file RRawFileUnix.cxx.
| 
 | finalprotectedvirtual | 
By default implemented as a loop of ReadAt calls but can be overwritten, e.g. XRootD or DAVIX implementations.
Reimplemented from ROOT::Internal::RRawFile.
Definition at line 95 of file RRawFileUnix.cxx.
| 
 | private | 
Definition at line 33 of file RRawFileUnix.hxx.