18 #ifndef FOEDUS_ENGINE_HPP_
19 #define FOEDUS_ENGINE_HPP_
261 #endif // FOEDUS_ENGINE_HPP_
restart::RestartManager * get_restart_manager() const
See Restart Manager.
std::string describe_short() const
cache::CacheManager * get_cache_manager() const
See Snapshot Cache Manager.
ErrorStack initialize() override
Starts up the database engine.
storage::StorageManager * get_storage_manager() const
See Storage Manager.
The pure-virtual interface to initialize/uninitialize non-trivial resources.
Forward declarations of classes in log manager package.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Eid get_master_eid() const
Returns Engine ID of the master engine.
Forward declarations of classes in transaction package.
Brings error stacktrace information as return value of functions.
Forward declarations of classes in snapshot manager package.
Typedefs of ID types used in SOC package.
Forward declarations of classes in debugging package.
Procedure manager, which maintains the list of system/user procedures.
Forward declarations of classes in cache package.
const EngineOptions & get_options() const
Epoch get_durable_global_epoch() const
Returns the durable epoch of the entire engine.
bool is_master() const
Returns if this engine object is a master instance.
savepoint::SavepointManager * get_savepoint_manager() const
See Savepoint Manager.
Forward declarations of classes in restart package.
Snapshot manager that atomically and durably writes out a snapshot file.
soc::SocId get_soc_count() const
Shorthand for get_options().thread_.group_count_.
EngineType get_type() const
Returns the type of this engine object.
bool is_emulated_child() const
Returns if this engine object is a child instance running just as a thread.
soc::Upid get_master_upid() const
Returns Universal (or Unique) ID of the master process.
Forward declarations of classes in storage package.
log::LogManager * get_log_manager() const
See Log Manager.
Epoch get_current_global_epoch() const
Returns the current global epoch, the epoch a newly started transaction will be in.
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
Database engine object that holds all resources and provides APIs.
~Engine()
Do NOT rely on this destructor to release resources.
Set of option values given to the engine at start-up.
EngineType
Type of an engine instance of how to launch it.
Xct Manager class that provides API to begin/abort/commit transaction.
uint64_t Upid
Universal (or Unique) ID of a process.
Log Manager class that provides API to write/read transaction logs.
proc::ProcManager * get_proc_manager() const
See System and User Procedures.
EngineOptions * get_nonconst_options()
Returns an updatable reference to options.
Forward declarations of classes in memory package.
bool is_initialized() const override
Returns whether the engine is currently running.
Engine & operator=(const Engine &)=delete
xct::XctManager * get_xct_manager() const
See Transaction Manager.
#define CXX11_OVERRIDE
Used in public headers in place of "override" of C++11.
Forward declarations of classes in SOC package.
uint16_t SocId
Represents an ID of an SOC, or NUMA node.
#define CXX11_FUNC_DELETE
Used in public headers in place of " = delete" of C++11.
Forward declarations of classes in savepoint manager package.
Storage Manager class that provides API to create/open/close/drop key-value stores.
soc::SocManager * get_soc_manager() const
See SOC and IPC.
bool is_remote_spawned_child() const
Returns if this engine object is a child instance remotely launched by spawn.
snapshot::SnapshotManager * get_snapshot_manager() const
See Snapshot Manager.
soc::SocId get_soc_id() const
If this is a child instance, returns its SOC ID (NUMA node).
Epoch get_current_grace_epoch() const
Returns the current grace-period epoch (global epoch - 1), the epoch some transaction might be still ...
uint64_t Eid
An Engine ID to differentiate two Engine objects instantiated in the same process.
SOC manager, which maintains the shared resource across SOCs and, if this engine is a master engine...
debugging::DebuggingSupports * get_debug() const
See Debug-Support functionalities.
APIs to support debugging functionalities.
Repository of all memories dynamically acquired and shared within one database engine.
Epoch get_earliest_epoch() const
Returns the Earliest-Epoch, the minimum epoch that is valid within this engine.
Forward declarations of classes in thread package.
Forward declarations of classes in proc package.
Restart manager, which recovers the state of database by invoking log-gleaner at start-up.
memory::EngineMemory * get_memory_manager() const
See Memory Manager.
thread::ThreadPool * get_thread_pool() const
See Thread and Thread-Group.
The pool of pre-allocated threads in the engine to execute transactions.
bool is_local_spawned_child() const
Returns if this engine object is a child instance launched by spawn.
bool is_forked_child() const
Returns if this engine object is a child instance launched by fork.
Savepoint manager that atomically and durably writes out a savepoint file.
ErrorStack uninitialize() override
Terminates the database engine.