![]() |
XRootD
|
is a simple implementation of IXrdCephBufferData using std::vector<char> representation for the buffer More...
Classes | |
class | CephBufSfsAio |
class | CephIOAdapterAIORaw |
Implements a non-async read and write to ceph via aio ceph_posix calls Using the standard ceph_posix_aio calls do the actual read and write operations. No ownership is taken on the buffer that's passed via the constructor Although using aio calls, we block here until the data has been read/written. More... | |
class | CephIOAdapterRaw |
Implements a non-async read and write to ceph via ceph_posix calls Using the standard ceph_posix_ calls do the actual read and write operations. No ownership is taken on the buffer that's passed via the constructor. More... | |
class | Extent |
class | ExtentHolder |
Designed to hold individual extents, but itself provide Extent-like capabilities Useful in cases of combining extends, or needing to hold a range of extends and extract information about (or aggregated from) the contained objects. Could be useful to inherit from Extent if improvements needed. More... | |
class | ICephIOAdapter |
Manage the actual IO operations that read and write the data into Ceph via librados striper. Likely to be provided with a buffer in the concreate implementation's constructor. Attempt to decouple the low level IO operations from the buffer implementation. However, ight coupling might be strictly necessary, making this class a bit redundant. Consider to refactor if this proves to be the case ... More... | |
class | IXrdCephBufferAlg |
Interface to a holder of the main logic decisions of the buffering algortithm, decoupled from the buffer resource itself. Main work of the buffering is done in the classes that inherit from the interace, of how and when and why to buffer and flush the data The physical representation of the buffer is not written here to allow for some flexibility of changing the internals of the buffer if needed. Anticipate that a non-async and async will be the main distinct use cases. More... | |
class | IXrdCephBufferData |
Interface to the Buffer's physical representation. Allow an interface to encapsulate the requirements of a buffer's memory, without worrying about the details. Various options exist for the specific buffer implemented, and are left to the sub-classes. More... | |
class | IXrdCephReadVAdapter |
Interface to the logic of dealing with readV requests. More... | |
class | Timer_ns |
class | XrdCephBufferAlgSimple |
class | XrdCephBufferDataSimple |
Implementation of a buffer using a simple vector<char> Simplest implementation of a buffer using vector<char> for underlying memory. Capacity is reserved on construction and released back at destruction. Does very little itself, except to provide access methods. More... | |
class | XrdCephReadVBasic |
Combine requests into single reads accoriding to some basic rules. Read a minimum amount of data (2MiB default), keep adding chunks until the used fraction is lower than some threshold, or 64MiB is reached. Calling code unraveles the correct ranges for each. More... | |
class | XrdCephReadVNoOp |
Passthrough implementation. Convertes the ReadV requests to extents and makes the request. Does not change how the readV implementation is done, just implements a version with Extents More for functionality testing, or to allow easier access to readV statistics. More... | |
Typedefs | |
typedef std::vector< Extent > | ExtentContainer |
Container defintion for Extents Typedef to provide a container of extents as a simple stl vector container. More... | |
is a simple implementation of IXrdCephBufferData using std::vector<char> representation for the buffer
typedef std::vector<Extent> XrdCephBuffer::ExtentContainer |
Container defintion for Extents Typedef to provide a container of extents as a simple stl vector container.
Definition at line 99 of file BufferUtils.hh.