libfoedus-core
FOEDUS Core Library
|
The Extended MCS-RW lock. More...
The Extended MCS-RW lock.
Same as above, we partially specialize the whole class, not functions.
Definition at line 676 of file xct_mcs_impl.cpp.
Static Public Member Functions | |
static bool | does_support_try_rw_reader () |
|
inline |
Async acquire methods, passing timeout 0 will avoid cancelling upon timeout in the internal rountines; caller should explicitly cancel when needed.
Definition at line 804 of file xct_mcs_impl.cpp.
References ASSERT_ND, foedus::kErrorCodeLockRequested, foedus::kErrorCodeOk, and foedus::xct::McsRwExtendedBlock::kTimeoutZero.
|
inline |
Definition at line 821 of file xct_mcs_impl.cpp.
References ASSERT_ND, foedus::kErrorCodeLockRequested, foedus::kErrorCodeOk, and foedus::xct::McsRwExtendedBlock::kTimeoutZero.
|
inline |
Definition at line 756 of file xct_mcs_impl.cpp.
References ASSERT_ND, foedus::kErrorCodeLockCancelled, and foedus::kErrorCodeOk.
|
inline |
Instant-try versions, won't leave node in the queue if failed.
Different from SimpleRWLock, here we use the async try/retry/cancel trio.
Definition at line 705 of file xct_mcs_impl.cpp.
References foedus::xct::McsRwLock::tail_, and foedus::xct::McsRwLock::to_tail_int().
|
inline |
Definition at line 679 of file xct_mcs_impl.cpp.
References ASSERT_ND, foedus::kErrorCodeOk, and foedus::xct::McsRwExtendedBlock::kTimeoutNever.
|
inline |
Definition at line 691 of file xct_mcs_impl.cpp.
References ASSERT_ND, foedus::kErrorCodeOk, and foedus::xct::McsRwExtendedBlock::kTimeoutNever.
|
inline |
Definition at line 867 of file xct_mcs_impl.cpp.
References foedus::kErrorCodeOk, foedus::xct::McsImpl< ADAPTOR, RW_BLOCK >::retry_async_rw_reader(), and foedus::xct::McsRwLock::to_tail_int().
|
inline |
Definition at line 878 of file xct_mcs_impl.cpp.
References foedus::kErrorCodeOk, and foedus::xct::McsRwLock::to_tail_int().
|
inlinestatic |
Definition at line 678 of file xct_mcs_impl.cpp.
|
inline |
Definition at line 796 of file xct_mcs_impl.cpp.
|
inline |
Definition at line 799 of file xct_mcs_impl.cpp.
|
inline |
Definition at line 838 of file xct_mcs_impl.cpp.
References ASSERT_ND, foedus::kErrorCodeOk, and foedus::xct::McsRwLock::to_tail_int().
|
inline |
Definition at line 853 of file xct_mcs_impl.cpp.
References ASSERT_ND.