libfoedus-core
FOEDUS Core Library
foedus::xct::SysxctFunctor Struct Referenceabstract

A functor representing the logic in a system transaction via virtual-function. More...

Detailed Description

A functor representing the logic in a system transaction via virtual-function.

Each sysxct inherits this class and overrides the run() method to implement the sysxct. This class is a pure interface. No data nor no pre-defined anything.

We initially passed around template functors, but that demands exposing ThreadPimpl to the code that implements individual sysxct. Rather, we now pass around a virtual function. The cost of virtual function invocation should be negligible for each sysxct execution. Well, let's keep an eye.

Note
Because this wil have vtable, do NOT place this object in shared memory! You shouldn't place this object in any places other than passing around as a param.

Definition at line 42 of file sysxct_functor.hpp.

#include <sysxct_functor.hpp>

Inheritance diagram for foedus::xct::SysxctFunctor:

Public Member Functions

virtual ErrorCode run (SysxctWorkspace *sysxct_workspace)=0
 Execute the system transaction. More...
 

Member Function Documentation

virtual ErrorCode foedus::xct::SysxctFunctor::run ( SysxctWorkspace sysxct_workspace)
pure virtual

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