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

Public Member Functions

 REGISTER_RPC_FUNCTIONS (VolatileUnloggedObjectStore, orderedPut, orderedRemove, orderedGet, put, remove, get, get_by_time)
 
std::tuple< version_t, uint64_t > get_version ()
 
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)
 
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)
 
 DEFAULT_SERIALIZE (objects)
 
 DEFAULT_DESERIALIZE_NOALLOC (VolatileUnloggedObjectStore)
 
void ensure_registered (mutils::DeserializationManager &)
 
 VolatileUnloggedObjectStore (const ObjectWatcher &ow)
 
 VolatileUnloggedObjectStore (const std::map< OID, Object > &_objects, const ObjectWatcher &ow)
 
 VolatileUnloggedObjectStore (std::map< OID, Object > &&_objects, const ObjectWatcher &ow)
 
- 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< VolatileUnloggedObjectStorefrom_bytes (mutils::DeserializationManager *dsm, char const *buf)
 

Public Attributes

std::map< OID, Objectobjects
 
const ObjectWatcher object_watcher
 
const Object inv_obj
 
- Public Attributes inherited from derecho::GroupReference
_Groupgroup
 
uint32_t subgroup_index
 

Detailed Description

Definition at line 117 of file ObjectStore.cpp.

Constructor & Destructor Documentation

◆ VolatileUnloggedObjectStore() [1/3]

objectstore::VolatileUnloggedObjectStore::VolatileUnloggedObjectStore ( const ObjectWatcher ow)
inline

Definition at line 241 of file ObjectStore.cpp.

◆ VolatileUnloggedObjectStore() [2/3]

objectstore::VolatileUnloggedObjectStore::VolatileUnloggedObjectStore ( const std::map< OID, Object > &  _objects,
const ObjectWatcher ow 
)
inline

Definition at line 242 of file ObjectStore.cpp.

◆ VolatileUnloggedObjectStore() [3/3]

objectstore::VolatileUnloggedObjectStore::VolatileUnloggedObjectStore ( std::map< OID, Object > &&  _objects,
const ObjectWatcher ow 
)
inline

Definition at line 243 of file ObjectStore.cpp.

Member Function Documentation

◆ DEFAULT_DESERIALIZE_NOALLOC()

objectstore::VolatileUnloggedObjectStore::DEFAULT_DESERIALIZE_NOALLOC ( VolatileUnloggedObjectStore  )

◆ DEFAULT_SERIALIZE()

objectstore::VolatileUnloggedObjectStore::DEFAULT_SERIALIZE ( objects  )

◆ ensure_registered()

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

Definition at line 238 of file ObjectStore.cpp.

◆ from_bytes()

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

Definition at line 224 of file ObjectStore.cpp.

◆ get()

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

Implements objectstore::IObjectStoreAPI.

Definition at line 166 of file ObjectStore.cpp.

◆ get_by_time()

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

Implements objectstore::IObjectStoreAPI.

Definition at line 182 of file ObjectStore.cpp.

◆ get_version()

std::tuple<version_t,uint64_t> objectstore::VolatileUnloggedObjectStore::get_version ( )
inline

Definition at line 136 of file ObjectStore.cpp.

◆ orderedGet()

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

Implements objectstore::IReplica.

Definition at line 212 of file ObjectStore.cpp.

◆ orderedPut()

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

Implements objectstore::IReplica.

Definition at line 190 of file ObjectStore.cpp.

◆ orderedRemove()

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

Implements objectstore::IReplica.

Definition at line 203 of file ObjectStore.cpp.

◆ put()

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

Implements objectstore::IObjectStoreAPI.

Definition at line 142 of file ObjectStore.cpp.

◆ REGISTER_RPC_FUNCTIONS()

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

◆ remove()

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

Implements objectstore::IObjectStoreAPI.

Definition at line 154 of file ObjectStore.cpp.

Member Data Documentation

◆ inv_obj

const Object objectstore::VolatileUnloggedObjectStore::inv_obj

Definition at line 125 of file ObjectStore.cpp.

◆ object_watcher

const ObjectWatcher objectstore::VolatileUnloggedObjectStore::object_watcher

Definition at line 124 of file ObjectStore.cpp.

◆ objects

std::map<OID, Object> objectstore::VolatileUnloggedObjectStore::objects

Definition at line 123 of file ObjectStore.cpp.


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