42 const void* task_input,
43 uint64_t task_input_size,
45 return pimpl_->
impersonate(proc_name, task_input, task_input_size, session);
51 const void* task_input,
52 uint64_t task_input_size,
60 const void* task_input,
61 uint64_t task_input_size,
Pimpl object of ThreadPool.
A view of Thread group object for other SOCs and master engine.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
ThreadRef * get_thread_ref(ThreadId id)
bool impersonate_on_numa_core(ThreadId core, const proc::ProcName &proc_name, const void *task_input, uint64_t task_input_size, ImpersonateSession *session)
Overload to specify a core to run on.
ErrorStack uninitialize() override final
Typical implementation of Initializable::uninitialize() that provides uninitialize-once semantics...
Brings error stacktrace information as return value of functions.
ThreadGroupRef * get_group(ThreadGroupId numa_node)
bool impersonate(const proc::ProcName &proc_name, const void *task_input, uint64_t task_input_size, ImpersonateSession *session)
bool impersonate_on_numa_node(ThreadGroupId node, const proc::ProcName &proc_name, const void *task_input, uint64_t task_input_size, ImpersonateSession *session)
Overload to specify a NUMA node to run on.
A user session running on an impersonated thread.
bool is_initialized() const override
Returns whether the object has been already initialized or not.
ThreadGroupRef * get_group_ref(ThreadGroupId numa_node)
ErrorStack initialize() override final
Typical implementation of Initializable::initialize() that provides initialize-once semantics...
Database engine object that holds all resources and provides APIs.
A view of Thread object for other SOCs and master engine.
ThreadRef * get_thread(ThreadId id)
ErrorStack uninitialize() override
An idempotent method to release all resources of this object, if any.
bool impersonate_on_numa_node(ThreadGroupId node, const proc::ProcName &proc_name, const void *task_input, uint64_t task_input_size, ImpersonateSession *session)
uint16_t ThreadId
Typedef for a global ID of Thread (core), which is unique across NUMA nodes.
bool impersonate_on_numa_core(ThreadId core, const proc::ProcName &proc_name, const void *task_input, uint64_t task_input_size, ImpersonateSession *session)
std::ostream & operator<<(std::ostream &o, const ImpersonateSession &v)
ErrorStack initialize() override
Acquires resources in this object, usually called right after constructor.
bool impersonate(const proc::ProcName &proc_name, const void *task_input, uint64_t task_input_size, ImpersonateSession *session)
Impersonate as one of pre-allocated threads in this engine, executing the procedure on the impersonat...
uint8_t ThreadGroupId
Typedef for an ID of ThreadGroup (NUMA node).
bool is_initialized() const override final
Returns whether the object has been already initialized or not.
The pool of pre-allocated threads in the engine to execute transactions.