11std::shared_ptr<Queue<T>>
17 auto queuePtr = std::dynamic_pointer_cast<Queue<T>>(queue_it->second.m_instance);
22 std::string realname_target = abi::__cxa_demangle(
typeid(T).name(),
nullptr,
nullptr, &status);
23 std::string realname_source = abi::__cxa_demangle(queue_it->second.m_type->name(),
nullptr,
nullptr, &status);
33 if (qcfg->UID() == name) {
38 if (qptr !=
nullptr) {
41 return std::dynamic_pointer_cast<Queue<T>>(entry.
m_instance);
46 std::string realname_target = abi::__cxa_demangle(
typeid(T).name(),
nullptr,
nullptr, &status);
47 throw QueueNotFound(
ERS_HERE, name, realname_target);
52std::shared_ptr<QueueBase>
55 std::shared_ptr<QueueBase> queue;
58 queue = std::make_shared<StdDeQueue<T>>(config->
UID(), config->
get_capacity());
60 queue = std::make_shared<FollySPSCQueue<T>>(config->
UID(), config->
get_capacity());
62 queue = std::make_shared<FollyMPMCQueue<T>>(config->
UID(), config->
get_capacity());
const std::string & UID() const noexcept
const std::string & get_queue_type() const
Get "queue_type" attribute value. Type of queue.
uint32_t get_capacity() const
Get "capacity" attribute value.
std::map< std::string, QueueEntry > m_queue_registry
std::shared_ptr< QueueBase > create_queue(const confmodel::Queue *config)
std::vector< const confmodel::Queue * > m_queue_configs
std::shared_ptr< opmonlib::OpMonLink > m_opmon_link
std::shared_ptr< Queue< T > > get_queue(const std::string &name)
Get a handle to a Queue.
static const std::string KStdDeQueue
static const std::string KFollySPSCQueue
static const std::string KFollyMPMCQueue
std::shared_ptr< QueueBase > m_instance