Goby3 3.5.1
2026.06.04
Loading...
Searching...
No Matches
subscription_store.h File Reference
#include <condition_variable>
#include <functional>
#include <memory>
#include <mutex>
#include <set>
#include <shared_mutex>
#include <thread>
#include <typeindex>
#include <unordered_map>
#include <vector>
#include "goby/middleware/transport/publisher.h"

Go to the source code of this file.

Classes

class  goby::middleware::detail::SubscriptionStoreBase
 Base class for interthread subscription information. Non-template so it can be stored in a single container. Used by InterThreadTransporter. More...
struct  goby::middleware::detail::DataProtection
class  goby::middleware::detail::SubscriptionStore< Data >
 Storage class for a specific interthread subscription (and related data). Used by InterThreadTransporter. More...

Namespaces

namespace  goby
 The global namespace for the Goby project.
namespace  goby::middleware
 Objects implementing the Goby nested middleware.
namespace  goby::middleware::detail

Variables

template<typename Data>
std::unordered_multimap< std::thread::id, typename SubscriptionStore< Data >::Callback > goby::middleware::detail::SubscriptionStore< Data >::subscription_callbacks_
template<typename Data>
std::unordered_map< std::thread::id, typename SubscriptionStore< Data >::DataQueue > goby::middleware::detail::SubscriptionStore< Data >::data_
template<typename Data>
std::unordered_multimap< goby::middleware::Group, typename decltype(SubscriptionStore< Data >::subscription_callbacks_)::const_iterator > goby::middleware::detail::SubscriptionStore< Data >::subscription_groups_
template<typename Data>
std::unordered_map< std::thread::id, detail::DataProtectiongoby::middleware::detail::SubscriptionStore< Data >::data_protection_
template<typename Data>
std::shared_timed_mutex goby::middleware::detail::SubscriptionStore< Data >::subscription_mutex_