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 |