proxygen
|
#include <Rcu.h>
Public Member Functions | |
rcu_domain (Executor *executor=nullptr) noexcept | |
rcu_domain (const rcu_domain &)=delete | |
rcu_domain (rcu_domain &&)=delete | |
rcu_domain & | operator= (const rcu_domain &)=delete |
rcu_domain & | operator= (rcu_domain &&)=delete |
~rcu_domain () | |
FOLLY_ALWAYS_INLINE rcu_token | lock_shared () |
FOLLY_ALWAYS_INLINE void | unlock_shared (rcu_token &&) |
template<typename T > | |
void | call (T &&cbin) |
void | retire (list_node *node) noexcept |
void | synchronize () noexcept |
Private Types | |
using | list_head = typename detail::ThreadCachedLists< Tag >::ListHead |
using | list_node = typename detail::ThreadCachedLists< Tag >::Node |
Private Member Functions | |
void | half_sync (bool blocking, list_head &cbs) |
Private Attributes | |
detail::ThreadCachedInts< Tag > | counters_ |
std::atomic< uint64_t > | version_ {0} |
std::atomic< uint64_t > | work_ {0} |
detail::TurnSequencer< std::atomic > | turn_ |
std::mutex | syncMutex_ |
std::atomic< uint64_t > | syncTime_ {0} |
detail::ThreadCachedLists< Tag > | q_ |
Executor * | executor_ {nullptr} |
list_head | queues_ [2] {} |
Static Private Attributes | |
static constexpr uint64_t | syncTimePeriod_ {1600 * 2 } |
static bool | singleton_ = false |
|
private |
|
private |
|
noexcept |
Definition at line 27 of file Rcu-inl.h.
References folly::detail::AtFork::registerHandler().
|
delete |
|
delete |
folly::rcu_domain< Tag >::~rcu_domain | ( | ) |
Definition at line 48 of file Rcu-inl.h.
References folly::detail::AtFork::unregisterHandler().
Definition at line 69 of file Rcu-inl.h.
Referenced by folly::rcu_retire().
|
private |
Definition at line 146 of file Rcu-inl.h.
References cpp.ast::next(), and uint64_t.
rcu_token folly::rcu_domain< Tag >::lock_shared | ( | ) |
|
delete |
|
delete |
|
noexcept |
Definition at line 79 of file Rcu-inl.h.
References count, g(), folly::gen::move, now(), folly::detail::distributed_mutex::time(), and uint64_t.
Referenced by folly::rcu_obj_base< T, D, Tag >::retire().
|
noexcept |
Definition at line 104 of file Rcu-inl.h.
References g(), and folly::gen::move.
void folly::rcu_domain< Tag >::unlock_shared | ( | rcu_token && | token | ) |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |