|
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 |