29#include <unordered_map>
42 std::string service_implementation);
45 std::string service_implementation);
73 m_version.fetch_add(1, std::memory_order_relaxed);
92typedef std::unordered_multimap<
94 std::equal_to<std::string>,
Component_malloc_allocator is a C++ STL memory allocator based on my_malloc/my_free.
Definition: component_malloc_allocator.h:62
Definition: cache_allocator.h:30
static channel_imp * create(service_names_set<> &service_names)
Definition: channel.cc:62
static bool factory_deinit()
Definition: channel.cc:136
std::atomic< bool > m_has_ignore_list
Definition: channel.h:85
channel_imp()
Definition: channel.cc:51
channel_imp * ref()
Definition: channel.h:58
static bool destroy(channel_imp *channel)
Definition: channel.cc:83
static bool ignore_list_add(channel_imp *channel, std::string service_implementation)
Definition: channel.cc:203
void ignore_list_copy(service_names_set< std::string, std::less< std::string > > &dest_set)
Definition: channel.cc:181
mysql_rwlock_t m_lock
Definition: channel.h:89
static bool ignore_list_remove(channel_imp *channel, std::string service_implementation)
Definition: channel.cc:225
~channel_imp()
Definition: channel.cc:60
service_names_set & get_service_names()
Definition: channel.cc:188
channel_imp & operator=(const channel_imp &)=delete
service_names_set< std::string, std::less< std::string > > m_ignore_list
Definition: channel.h:84
void increment_version_no_lock()
Definition: channel.h:72
static bool factory_init()
Definition: channel.cc:118
std::atomic< unsigned int > m_version
Definition: channel.h:87
void initialize_service_counts()
Definition: channel.cc:153
channel_imp(const channel_imp &)=delete
int unref()
Definition: channel.h:62
service_names_set m_service_names
Definition: channel.h:83
bool is_alone()
Definition: channel.h:57
static void increment_version(channel_imp *channel)
Definition: channel.cc:112
static bool service_notification(const char **services, unsigned int count, bool unload)
Take actions to reference caching caches to refresh their cached service references.
Definition: channel.cc:264
bool ignore_list_clear()
Definition: channel.cc:234
std::atomic< int > m_reference_count
Definition: channel.h:86
unsigned int version()
Definition: channel.h:50
Definition: reference_cache_common.h:59
static int count
Definition: myisam_ftdump.cc:44
channel_by_name_hash_t * channel_by_name_hash
Definition: channel.cc:48
std::unordered_multimap< std::string, channel_imp *, std::hash< std::string >, std::equal_to< std::string >, Component_malloc_allocator< std::pair< const std::string, channel_imp * > > > channel_by_name_hash_t
Definition: channel.h:96
mysql_rwlock_t LOCK_channels
Definition: channel.cc:49
Definition: services.cc:39
An instrumented rwlock structure.
Definition: mysql_rwlock_bits.h:50