A RDaosContainer provides read/write access to objects in a given container.
Classes | |
| struct | DaosEventQueue |
| struct | RWOperation |
Describes a read/write operation on multiple objects; see the ReadV/WriteV functions. More... | |
Public Types | |
| using | AttributeKey_t = RDaosObject::AttributeKey_t |
| using | DistributionKey_t = RDaosObject::DistributionKey_t |
| using | ObjClassId_t = RDaosObject::ObjClassId |
Public Member Functions | |
| RDaosContainer (std::shared_ptr< RDaosPool > pool, std::string_view containerUuid, bool create=false) | |
| ~RDaosContainer () | |
| ObjClassId_t | GetDefaultObjectClass () const |
| int | ReadSingleAkey (void *buffer, std::size_t length, daos_obj_id_t oid, DistributionKey_t dkey, AttributeKey_t akey) |
| int | ReadSingleAkey (void *buffer, std::size_t length, daos_obj_id_t oid, DistributionKey_t dkey, AttributeKey_t akey, ObjClassId_t cid) |
| Read data from a single object attribute key to the given buffer. | |
| int | ReadV (std::vector< RWOperation > &vec) |
| int | ReadV (std::vector< RWOperation > &vec, ObjClassId_t cid) |
| Perform a vector read operation on (possibly) multiple objects. | |
| void | SetDefaultObjectClass (const ObjClassId_t cid) |
| int | WriteSingleAkey (const void *buffer, std::size_t length, daos_obj_id_t oid, DistributionKey_t dkey, AttributeKey_t akey) |
| int | WriteSingleAkey (const void *buffer, std::size_t length, daos_obj_id_t oid, DistributionKey_t dkey, AttributeKey_t akey, ObjClassId_t cid) |
| Write the given buffer to a single object attribute key. | |
| int | WriteV (std::vector< RWOperation > &vec) |
| int | WriteV (std::vector< RWOperation > &vec, ObjClassId_t cid) |
| Perform a vector write operation on (possibly) multiple objects. | |
Private Member Functions | |
| template<typename Fn > | |
| int | VectorReadWrite (std::vector< RWOperation > &vec, ObjClassId_t cid, Fn fn) |
| Perform a vector read/write operation on different objects. | |
Private Attributes | |
| daos_handle_t | fContainerHandle {} |
| uuid_t | fContainerUuid {} |
| ObjClassId_t | fDefaultObjectClass {OC_SX} |
| std::shared_ptr< RDaosPool > | fPool |
Friends | |
| class | RDaosObject |
#include <ROOT/RDaos.hxx>
| ROOT::Experimental::Detail::RDaosContainer::~RDaosContainer | ( | ) |
|
inline |
|
inline |
| int ROOT::Experimental::Detail::RDaosContainer::ReadSingleAkey | ( | void * | buffer, |
| std::size_t | length, | ||
| daos_obj_id_t | oid, | ||
| DistributionKey_t | dkey, | ||
| AttributeKey_t | akey, | ||
| ObjClassId_t | cid | ||
| ) |
Read data from a single object attribute key to the given buffer.
| buffer | The address of a buffer that has capacity for at least length bytes. |
| length | Length of the buffer. |
| oid | A 128-bit DAOS object identifier. |
| dkey | The distribution key used for this operation. |
| akey | The attribute key used for this operation. |
| cid | An object class ID. |
|
inline |
|
inline |
Perform a vector read operation on (possibly) multiple objects.
| vec | A std::vector<RWOperation> that describes read operations to perform. |
| cid | An object class ID. |
|
inline |
|
inlineprivate |
Perform a vector read/write operation on different objects.
| vec | A std::vector<RWOperation> that describes read/write operations to perform. |
| cid | The daos_oclass_id_t used to qualify OIDs. |
| fn | Either std::mem_fn<&RDaosObject::Fetch> (read) or std::mem_fn<&RDaosObject::Update> (write). |
|
inline |
| int ROOT::Experimental::Detail::RDaosContainer::WriteSingleAkey | ( | const void * | buffer, |
| std::size_t | length, | ||
| daos_obj_id_t | oid, | ||
| DistributionKey_t | dkey, | ||
| AttributeKey_t | akey, | ||
| ObjClassId_t | cid | ||
| ) |
Write the given buffer to a single object attribute key.
| buffer | The address of the source buffer. |
| length | Length of the buffer. |
| oid | A 128-bit DAOS object identifier. |
| dkey | The distribution key used for this operation. |
| akey | The attribute key used for this operation. |
| cid | An object class ID. |
|
inline |
|
inline |
Perform a vector write operation on (possibly) multiple objects.
| vec | A std::vector<RWOperation> that describes write operations to perform. |
| cid | An object class ID. |
|
friend |
|
private |
|
private |
|
private |
|
private |