27 for (
auto* evb : *locked) {
28 evb->runInEventBaseThread([
this, evb, key =
key_] {
29 evb->localStorage_.erase(key);
30 evb->localStorageToDtor_.erase(
this);
static std::atomic< std::size_t > keyCounter_
Map::mapped_type get_default(const Map &map, const Key &key)
folly::Synchronized< std::unordered_set< EventBase * > > eventBases_
std::unordered_map< std::size_t, std::shared_ptr< void > > localStorage_
constexpr detail::Map< Move > move
void * getVoid(EventBase &evb)
std::unordered_set< detail::EventBaseLocalBaseBase * > localStorageToDtor_
—— Concurrent Priority Queue Implementation ——
void erase(EventBase &evb)
~EventBaseLocalBase() override
void setVoid(EventBase &evb, std::shared_ptr< void > &&ptr)
void dcheckIsInEventBaseThread() const
void onEventBaseDestruction(EventBase &evb) override