18 #ifndef FOEDUS_XCT_XCT_MANAGER_HPP_
19 #define FOEDUS_XCT_XCT_MANAGER_HPP_
123 #endif // FOEDUS_XCT_XCT_MANAGER_HPP_
Epoch get_current_global_epoch_weak() const
The pure-virtual interface to initialize/uninitialize non-trivial resources.
Epoch get_current_global_epoch() const
Returns the current global epoch, the epoch a newly started transaction will be in.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
bool is_initialized() const override
Returns whether the object has been already initialized or not.
Represents one thread running on one NUMA core.
Epoch get_current_grace_epoch() const
Returns the current grace-period epoch (global epoch - 1), the epoch some transaction might be still ...
Epoch get_current_grace_epoch_weak() const
Forward declarations of classes in transaction package.
ErrorCode begin_xct(thread::Thread *context, IsolationLevel isolation_level)
Begins a new transaction on the thread.
void resume_accepting_xct()
Make sure you call this after pause_accepting_xct().
Forward declarations of classes in root package.
Brings error stacktrace information as return value of functions.
void pause_accepting_xct()
Pause all begin_xct until you call resume_accepting_xct()
ErrorStack initialize() override
Acquires resources in this object, usually called right after constructor.
ErrorCode precommit_xct(thread::Thread *context, Epoch *commit_epoch)
Prepares the currently running transaction on the thread for commit.
Definitions of IDs in this package and a few related constant values.
#define CXX11_FINAL
Used in public headers in place of "final" of C++11.
Database engine object that holds all resources and provides APIs.
ErrorStack uninitialize() override
An idempotent method to release all resources of this object, if any.
ErrorCode abort_xct(thread::Thread *context)
Aborts the currently running transaction on the thread.
Xct Manager class that provides API to begin/abort/commit transaction.
#define CXX11_OVERRIDE
Used in public headers in place of "override" of C++11.
void wait_for_current_global_epoch(Epoch target_epoch, int64_t wait_microseconds=-1)
Passively wait until the current global epoch becomes the given value.
IsolationLevel
Specifies the level of isolation during transaction processing.
#define CXX11_FUNC_DELETE
Used in public headers in place of " = delete" of C++11.
void advance_current_global_epoch()
Requests to advance the current global epoch as soon as possible and blocks until it actually does...
Pimpl object of XctManager.
XctManager & operator=(const XctManager &)=delete
ErrorCode wait_for_commit(Epoch commit_epoch, int64_t wait_microseconds=-1)
Synchronously blocks until the durable global epoch reaches the given commit epoch or the given durat...
Forward declarations of classes in thread package.
ErrorCode
Enum of error codes defined in error_code.xmacro.