A RDaosContainer provides read/write access to objects in a given container.
Classes | |
| struct | ROidDkeyPair | 
| A pair of <object ID, distribution key> that can be used to issue a fetch/update request for multiple attribute keys.  More... | |
| 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 | MultiObjectRWOperation_t = std::unordered_map< ROidDkeyPair, RWOperation, ROidDkeyPair::Hash > | 
| using | ObjClassId_t = RDaosObject::ObjClassId | 
Public Member Functions | |
| RDaosContainer (std::shared_ptr< RDaosPool > pool, std::string_view containerId, bool create=false) | |
| ~RDaosContainer () | |
| std::string | GetContainerUuid () | 
| 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 (MultiObjectRWOperation_t &map) | 
| int | ReadV (MultiObjectRWOperation_t &map, ObjClassId_t cid) | 
| Perform a vector read operation on 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 (MultiObjectRWOperation_t &map) | 
| int | WriteV (MultiObjectRWOperation_t &map, ObjClassId_t cid) | 
| Perform a vector write operation on multiple objects.   | |
Private Member Functions | |
| int | VectorReadWrite (MultiObjectRWOperation_t &map, ObjClassId_t cid, int(RDaosObject::*fn)(RDaosObject::FetchUpdateArgs &)) | 
| Perform a vector read/write operation on different objects.   | |
Private Attributes | |
| daos_handle_t | fContainerHandle {} | 
| std::string | fContainerLabel {} | 
| uuid_t | fContainerUuid {} | 
| ObjClassId_t | fDefaultObjectClass {OC_SX} | 
| std::shared_ptr< RDaosPool > | fPool | 
Friends | |
| class | RDaosObject | 
#include <ROOT/RDaos.hxx>
| using ROOT::Experimental::Detail::RDaosContainer::MultiObjectRWOperation_t = std::unordered_map<ROidDkeyPair, RWOperation, ROidDkeyPair::Hash> | 
| ROOT::Experimental::Detail::RDaosContainer::~RDaosContainer | ( | ) | 
| std::string ROOT::Experimental::Detail::RDaosContainer::GetContainerUuid | ( | ) | 
      
  | 
  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 | 
      
  | 
  inline | 
      
  | 
  private | 
Perform a vector read/write operation on different objects.
| map | A MultiObjectRWOperation_t that describes read/write operations to perform.  | 
| cid | The daos_oclass_id_t used to qualify OIDs.  | 
| fn | Either &RDaosObject::Fetch (read) or &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 | 
      
  | 
  friend | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private |