libfoedus-core
FOEDUS Core Library
|
A view of Thread group object for other SOCs and master engine. More...
A view of Thread group object for other SOCs and master engine.
Definition at line 106 of file thread_ref.hpp.
#include <thread_ref.hpp>
Public Member Functions | |
ThreadGroupRef () | |
ThreadGroupRef (Engine *engine, ThreadGroupId group_id) | |
Engine * | get_engine () const |
ThreadGroupId | get_group_id () const |
ThreadRef * | get_thread (ThreadLocalOrdinal ordinal) |
Returns Thread object for the given ordinal in this group. More... | |
ThreadRef | get_thread_ref (ThreadLocalOrdinal ordinal) const |
Returns a copied instance. More... | |
Epoch | get_min_in_commit_epoch () const |
Returns the oldest in-commit epoch of the threads in this group. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &o, const ThreadGroupRef &v) |
foedus::thread::ThreadGroupRef::ThreadGroupRef | ( | ) |
Definition at line 103 of file thread_ref.cpp.
foedus::thread::ThreadGroupRef::ThreadGroupRef | ( | Engine * | engine, |
ThreadGroupId | group_id | ||
) |
Definition at line 106 of file thread_ref.cpp.
References foedus::thread::compose_thread_id(), foedus::Engine::get_options(), foedus::EngineOptions::thread_, and foedus::thread::ThreadOptions::thread_count_per_group_.
|
inline |
Definition at line 111 of file thread_ref.hpp.
|
inline |
Definition at line 112 of file thread_ref.hpp.
Referenced by foedus::thread::operator<<().
Epoch foedus::thread::ThreadGroupRef::get_min_in_commit_epoch | ( | ) | const |
Returns the oldest in-commit epoch of the threads in this group.
Empty in-commit epoch is skipped. If all of them are empty, returns an invalid epoch (meaning all of them will get the latest current epoch and are safe).
Definition at line 132 of file thread_ref.cpp.
References foedus::INVALID_EPOCH, foedus::Epoch::is_valid(), foedus::assorted::memory_fence_acquire(), and foedus::Epoch::store_min().
Referenced by foedus::xct::XctManagerPimpl::handle_epoch_chime_wait_grace_period().
|
inline |
Returns Thread object for the given ordinal in this group.
Definition at line 115 of file thread_ref.hpp.
Referenced by foedus::thread::ThreadPoolPimpl::get_thread(), and foedus::thread::ThreadPoolPimpl::impersonate_on_numa_node().
|
inline |
Returns a copied instance.
ThreadRef itself is a reference object, so it's cheap.
Definition at line 117 of file thread_ref.hpp.
|
friend |
Definition at line 160 of file thread_ref.cpp.