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

Public Member Functions

virtual void finalizeCurrentDelta (const DeltaFinalizer &df)
 
virtual void applyDelta (char const *const delta)
 
void applyOrderedPut (const Object &object)
 
bool applyOrderedRemove (const OID &oid)
 
virtual bool orderedPut (const Object &object)
 
virtual bool orderedRemove (const OID &oid)
 
virtual const Object orderedGet (const OID &oid)
 
 DEFAULT_SERIALIZE (objects)
 
 DEFAULT_DESERIALIZE_NOALLOC (DeltaObjectStoreCore)
 
void ensure_registered (mutils::DeserializationManager &)
 
 DeltaObjectStoreCore (const ObjectWatcher &ow)
 
 DeltaObjectStoreCore (const std::map< OID, Object > &_objects, const ObjectWatcher &ow)
 
 DeltaObjectStoreCore (std::map< OID, Object > &&_objects, const ObjectWatcher &ow)
 
virtual ~DeltaObjectStoreCore ()
 
- 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 ()
 

Static Public Member Functions

static std::unique_ptr< DeltaObjectStoreCorecreate (mutils::DeserializationManager *dm)
 
static std::unique_ptr< DeltaObjectStoreCorefrom_bytes (mutils::DeserializationManager *dsm, char const *buf)
 
- Static Public Member Functions inherited from persistent::IDeltaObjectFactory< DeltaObjectStoreCore >
static std::unique_ptr< DeltaObjectStoreCore > create (mutils::DeserializationManager *dm)
 

Public Attributes

std::map< OID, Objectobjects
 
const ObjectWatcher object_watcher
 
const Object inv_obj
 

Private Types

enum  _OPID { PUT, REMOVE }
 

Private Member Functions

void initialize_delta ()
 

Private Attributes

struct {
size_t capacity
 
size_t len
 
char * buffer
 
delta
 

Detailed Description

Definition at line 247 of file ObjectStore.cpp.

Member Enumeration Documentation

◆ _OPID

Enumerator
PUT 
REMOVE 

Definition at line 250 of file ObjectStore.cpp.

Constructor & Destructor Documentation

◆ DeltaObjectStoreCore() [1/3]

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

Definition at line 445 of file ObjectStore.cpp.

◆ DeltaObjectStoreCore() [2/3]

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

Definition at line 448 of file ObjectStore.cpp.

◆ DeltaObjectStoreCore() [3/3]

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

Definition at line 451 of file ObjectStore.cpp.

◆ ~DeltaObjectStoreCore()

virtual objectstore::DeltaObjectStoreCore::~DeltaObjectStoreCore ( )
inlinevirtual

Definition at line 454 of file ObjectStore.cpp.

Member Function Documentation

◆ applyDelta()

virtual void objectstore::DeltaObjectStoreCore::applyDelta ( char const *const  delta)
inlinevirtual

◆ applyOrderedPut()

void objectstore::DeltaObjectStoreCore::applyOrderedPut ( const Object object)
inline

Definition at line 364 of file ObjectStore.cpp.

◆ applyOrderedRemove()

bool objectstore::DeltaObjectStoreCore::applyOrderedRemove ( const OID oid)
inline

Definition at line 373 of file ObjectStore.cpp.

◆ create()

static std::unique_ptr<DeltaObjectStoreCore> objectstore::DeltaObjectStoreCore::create ( mutils::DeserializationManager dm)
inlinestatic

Definition at line 354 of file ObjectStore.cpp.

◆ DEFAULT_DESERIALIZE_NOALLOC()

objectstore::DeltaObjectStoreCore::DEFAULT_DESERIALIZE_NOALLOC ( DeltaObjectStoreCore  )

◆ DEFAULT_SERIALIZE()

objectstore::DeltaObjectStoreCore::DEFAULT_SERIALIZE ( objects  )

◆ ensure_registered()

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

Definition at line 442 of file ObjectStore.cpp.

◆ finalizeCurrentDelta()

virtual void objectstore::DeltaObjectStoreCore::finalizeCurrentDelta ( const DeltaFinalizer df)
inlinevirtual

◆ from_bytes()

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

Definition at line 426 of file ObjectStore.cpp.

◆ initialize_delta()

void objectstore::DeltaObjectStoreCore::initialize_delta ( )
inlineprivate

Definition at line 309 of file ObjectStore.cpp.

◆ orderedGet()

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

Definition at line 410 of file ObjectStore.cpp.

◆ orderedPut()

virtual bool objectstore::DeltaObjectStoreCore::orderedPut ( const Object object)
inlinevirtual

Definition at line 387 of file ObjectStore.cpp.

◆ orderedRemove()

virtual bool objectstore::DeltaObjectStoreCore::orderedRemove ( const OID oid)
inlinevirtual

Definition at line 399 of file ObjectStore.cpp.

Member Data Documentation

◆ delta

struct { ... } objectstore::DeltaObjectStoreCore::delta

◆ inv_obj

const Object objectstore::DeltaObjectStoreCore::inv_obj

Definition at line 322 of file ObjectStore.cpp.

◆ object_watcher

const ObjectWatcher objectstore::DeltaObjectStoreCore::object_watcher

Definition at line 321 of file ObjectStore.cpp.

◆ objects

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

Definition at line 320 of file ObjectStore.cpp.


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