Derecho  0.9
Distributed systems toolkit for RDMA
Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
objectstore::PersistentLoggedObjectStore Class Reference
Inheritance diagram for objectstore::PersistentLoggedObjectStore:
Inheritance graph
[legend]
Collaboration diagram for objectstore::PersistentLoggedObjectStore:
Collaboration graph
[legend]

Public Member Functions

 REGISTER_RPC_FUNCTIONS (PersistentLoggedObjectStore, orderedPut, orderedRemove, orderedGet, put, remove, get, get_by_time)
 
virtual std::tuple< version_t, uint64_t > orderedPut (const Object &object)
 
virtual std::tuple< version_t, uint64_t > orderedRemove (const OID &oid)
 
virtual const Object orderedGet (const OID &oid)
 
virtual std::tuple< version_t, uint64_t > put (const Object &object)
 
virtual std::tuple< version_t, uint64_t > remove (const OID &oid)
 
virtual const Object get (const OID &oid, const version_t &ver)
 
virtual const Object get_by_time (const OID &oid, const uint64_t &ts_us)
 
 DEFAULT_SERIALIZE (persistent_objectstore)
 
 DEFAULT_DESERIALIZE_NOALLOC (PersistentLoggedObjectStore)
 
void ensure_registered (mutils::DeserializationManager &)
 
 PersistentLoggedObjectStore (persistent::PersistentRegistry *pr, IObjectStoreService &oss)
 
 PersistentLoggedObjectStore (Persistent< DeltaObjectStoreCore > &&_persistent_objectstore)
 
- Public Member Functions inherited from mutils::ByteRepresentable
virtual std::size_t to_bytes (char *v) const =0
 Write this class's marshalled representation into the array found at v. More...
 
virtual void post_object (const std::function< void(char const *const, std::size_t)> &) const =0
 Pass a pointer to a buffer containing this class's marshalled representation into the function f. More...
 
virtual std::size_t bytes_size () const =0
 the size of the marshalled representation of this object. More...
 
virtual ~ByteRepresentable ()
 
- Public Member Functions inherited from derecho::GroupReference
void set_group_pointers (_Group *group, uint32_t subgroup_index)
 

Static Public Member Functions

static std::unique_ptr< PersistentLoggedObjectStorefrom_bytes (mutils::DeserializationManager *dsm, char const *buf)
 

Public Attributes

Persistent< DeltaObjectStoreCorepersistent_objectstore
 
- Public Attributes inherited from derecho::GroupReference
_Groupgroup
 
uint32_t subgroup_index
 

Private Attributes

const Object inv_obj
 

Detailed Description

Definition at line 461 of file ObjectStore.cpp.

Constructor & Destructor Documentation

◆ PersistentLoggedObjectStore() [1/2]

objectstore::PersistentLoggedObjectStore::PersistentLoggedObjectStore ( persistent::PersistentRegistry pr,
IObjectStoreService oss 
)
inline

Definition at line 596 of file ObjectStore.cpp.

◆ PersistentLoggedObjectStore() [2/2]

objectstore::PersistentLoggedObjectStore::PersistentLoggedObjectStore ( Persistent< DeltaObjectStoreCore > &&  _persistent_objectstore)
inline

Definition at line 606 of file ObjectStore.cpp.

Member Function Documentation

◆ DEFAULT_DESERIALIZE_NOALLOC()

objectstore::PersistentLoggedObjectStore::DEFAULT_DESERIALIZE_NOALLOC ( PersistentLoggedObjectStore  )

◆ DEFAULT_SERIALIZE()

objectstore::PersistentLoggedObjectStore::DEFAULT_SERIALIZE ( persistent_objectstore  )

◆ ensure_registered()

void objectstore::PersistentLoggedObjectStore::ensure_registered ( mutils::DeserializationManager )
inline

Definition at line 593 of file ObjectStore.cpp.

◆ from_bytes()

static std::unique_ptr<PersistentLoggedObjectStore> objectstore::PersistentLoggedObjectStore::from_bytes ( mutils::DeserializationManager dsm,
char const *  buf 
)
inlinestatic

Definition at line 579 of file ObjectStore.cpp.

◆ get()

virtual const Object objectstore::PersistentLoggedObjectStore::get ( const OID oid,
const version_t ver 
)
inlinevirtual

Implements objectstore::IObjectStoreAPI.

Definition at line 530 of file ObjectStore.cpp.

◆ get_by_time()

virtual const Object objectstore::PersistentLoggedObjectStore::get_by_time ( const OID oid,
const uint64_t &  ts_us 
)
inlinevirtual

Implements objectstore::IObjectStoreAPI.

Definition at line 562 of file ObjectStore.cpp.

◆ orderedGet()

virtual const Object objectstore::PersistentLoggedObjectStore::orderedGet ( const OID oid)
inlinevirtual

Implements objectstore::IReplica.

Definition at line 499 of file ObjectStore.cpp.

◆ orderedPut()

virtual std::tuple<version_t,uint64_t> objectstore::PersistentLoggedObjectStore::orderedPut ( const Object object)
inlinevirtual

Implements objectstore::IReplica.

Definition at line 483 of file ObjectStore.cpp.

◆ orderedRemove()

virtual std::tuple<version_t,uint64_t> objectstore::PersistentLoggedObjectStore::orderedRemove ( const OID oid)
inlinevirtual

Implements objectstore::IReplica.

Definition at line 491 of file ObjectStore.cpp.

◆ put()

virtual std::tuple<version_t,uint64_t> objectstore::PersistentLoggedObjectStore::put ( const Object object)
inlinevirtual

Implements objectstore::IObjectStoreAPI.

Definition at line 508 of file ObjectStore.cpp.

◆ REGISTER_RPC_FUNCTIONS()

objectstore::PersistentLoggedObjectStore::REGISTER_RPC_FUNCTIONS ( PersistentLoggedObjectStore  ,
orderedPut  ,
orderedRemove  ,
orderedGet  ,
put  ,
remove  ,
get  ,
get_by_time   
)

◆ remove()

virtual std::tuple<version_t,uint64_t> objectstore::PersistentLoggedObjectStore::remove ( const OID oid)
inlinevirtual

Implements objectstore::IObjectStoreAPI.

Definition at line 519 of file ObjectStore.cpp.

Member Data Documentation

◆ inv_obj

const Object objectstore::PersistentLoggedObjectStore::inv_obj
private

Definition at line 467 of file ObjectStore.cpp.

◆ persistent_objectstore

Persistent<DeltaObjectStoreCore> objectstore::PersistentLoggedObjectStore::persistent_objectstore

Definition at line 471 of file ObjectStore.cpp.


The documentation for this class was generated from the following file: