Class SubscriberPortMultiProducer
Defined in File subscriber_port_multi_producer.hpp
Inheritance Relationships
Base Type
public iox::popo::SubscriberPortRouDi(Class SubscriberPortRouDi)
Class Documentation
-
class SubscriberPortMultiProducer : public iox::popo::SubscriberPortRouDi
The SubscriberPortMultiProducer is the implementation of the SubscriberPortRouDi for a setup where subscribers can have multiple matching publishers. I.e. a n:m pub/sub deployment. The handling of CaPro messages is different for 1:m and n:m deployment.
Public Types
-
using MemberType_t = SubscriberPortData
Public Functions
-
explicit SubscriberPortMultiProducer(cxx::not_null<MemberType_t*const> publisherPortDataPtr) noexcept
-
SubscriberPortMultiProducer(const SubscriberPortMultiProducer &other) = delete
-
SubscriberPortMultiProducer &operator=(const SubscriberPortMultiProducer&) = delete
-
SubscriberPortMultiProducer(SubscriberPortMultiProducer &&rhs) noexcept = default
-
SubscriberPortMultiProducer &operator=(SubscriberPortMultiProducer &&rhs) noexcept = default
-
~SubscriberPortMultiProducer() = default
-
virtual cxx::optional<capro::CaproMessage> tryGetCaProMessage() noexcept override
get an optional CaPro message that changes the subscription state of the subscriber
- Returns:
CaPro message with new subscription requet, empty optional if no state change
-
virtual cxx::optional<capro::CaproMessage> dispatchCaProMessageAndGetPossibleResponse(const capro::CaproMessage &caProMessage) noexcept override
dispatch a CaPro message to the subscriber for processing
- Parameters:
caProMessage – [in] to process
- Returns:
CaPro message with an immediate response the provided CaPro message, empty optional if no response
-
using MemberType_t = SubscriberPortData