Goby3  3.1.4
2024.02.22
goby::middleware::detail::SubscriptionStoreBase Class Referenceabstract

Base class for interthread subscription information. Non-template so it can be stored in a single container. Used by InterThreadTransporter. More...

#include <goby/middleware/transport/detail/subscription_store.h>

Inheritance diagram for goby::middleware::detail::SubscriptionStoreBase:
goby::middleware::detail::SubscriptionStore< Data >

Public Member Functions

 SubscriptionStoreBase ()=default
 
virtual ~SubscriptionStoreBase ()=default
 

Static Public Member Functions

static int poll_all (std::thread::id thread_id, std::unique_ptr< std::unique_lock< std::timed_mutex >> &lock)
 
static void unsubscribe_all (std::thread::id thread_id)
 
static void remove (std::thread::id thread_id)
 

Protected Member Functions

virtual int poll (std::thread::id thread_id, std::unique_ptr< std::unique_lock< std::timed_mutex >> &lock)=0
 
virtual void unsubscribe_all_groups (std::thread::id thread_id)=0
 

Static Protected Member Functions

template<typename StoreType >
static void insert (std::thread::id thread_id)
 

Detailed Description

Base class for interthread subscription information. Non-template so it can be stored in a single container. Used by InterThreadTransporter.

Definition at line 47 of file subscription_store.h.

Constructor & Destructor Documentation

◆ SubscriptionStoreBase()

goby::middleware::detail::SubscriptionStoreBase::SubscriptionStoreBase ( )
default

◆ ~SubscriptionStoreBase()

virtual goby::middleware::detail::SubscriptionStoreBase::~SubscriptionStoreBase ( )
virtualdefault

Member Function Documentation

◆ insert()

template<typename StoreType >
static void goby::middleware::detail::SubscriptionStoreBase::insert ( std::thread::id  thread_id)
inlinestaticprotected

Definition at line 93 of file subscription_store.h.

◆ poll()

virtual int goby::middleware::detail::SubscriptionStoreBase::poll ( std::thread::id  thread_id,
std::unique_ptr< std::unique_lock< std::timed_mutex >> &  lock 
)
protectedpure virtual

◆ poll_all()

static int goby::middleware::detail::SubscriptionStoreBase::poll_all ( std::thread::id  thread_id,
std::unique_ptr< std::unique_lock< std::timed_mutex >> &  lock 
)
inlinestatic

Definition at line 60 of file subscription_store.h.

◆ remove()

static void goby::middleware::detail::SubscriptionStoreBase::remove ( std::thread::id  thread_id)
inlinestatic

Definition at line 86 of file subscription_store.h.

◆ unsubscribe_all()

static void goby::middleware::detail::SubscriptionStoreBase::unsubscribe_all ( std::thread::id  thread_id)
inlinestatic

Definition at line 77 of file subscription_store.h.

◆ unsubscribe_all_groups()

virtual void goby::middleware::detail::SubscriptionStoreBase::unsubscribe_all_groups ( std::thread::id  thread_id)
protectedpure virtual

The documentation for this class was generated from the following file: