aether::external_storage_iface Class Referenceabstract

The interface for implementing write access to extenal storage, used by aether::entity_based_user_state::build_external_storage and aether::global_state_base::build_external_storage. More...

#include <external_storage.hh>

Public Member Functions

virtual void store_tick_data (const storage_state &)=0
 Called by aether to forward the data to the user provided store implementation. More...
 
virtual void store_tick_data_ack (uint64_t completed_tick)=0
 Called when all workers have finished their writes for a given tick, if any. More...
 
virtual bool get_tick_data (const storage_state &)=0
 Called by aether to check if there's any data that needs to be provided to the external storage implementation. More...
 
virtual ~external_storage_iface ()
 

Detailed Description

The interface for implementing write access to extenal storage, used by aether::entity_based_user_state::build_external_storage and aether::global_state_base::build_external_storage.

It's recommended that you use external_storage_base instead.

See Simualation/External-Stroage documentation for more details.

Constructor & Destructor Documentation

virtual aether::external_storage_iface::~external_storage_iface ( )
inlinevirtual

Member Function Documentation

virtual bool aether::external_storage_iface::get_tick_data ( const storage_state )
pure virtual

Called by aether to check if there's any data that needs to be provided to the external storage implementation.

Implemented in aether::external_storage_base< tick_data_type >, and aether::null_external_storage.

virtual void aether::external_storage_iface::store_tick_data ( const storage_state )
pure virtual

Called by aether to forward the data to the user provided store implementation.

Implemented in aether::external_storage_base< tick_data_type >, and aether::null_external_storage.

virtual void aether::external_storage_iface::store_tick_data_ack ( uint64_t  completed_tick)
pure virtual

Called when all workers have finished their writes for a given tick, if any.

Useful when using an append-based data model: enables notifying the database that all the updates for a given tick_id have been committed, so that the readers can safely read the data for this tick. Called from the background storage thread.

Implemented in aether::external_storage_base< tick_data_type >, and aether::null_external_storage.