58 using IceoryxTerminalPtr = std::shared_ptr<IceoryxTerminal>;
59 using IceoryxTerminalPool = cxx::ObjectPool<IceoryxTerminal, MAX_CHANNEL_NUMBER>;
60 using ExternalTerminalPtr = std::shared_ptr<ExternalTerminal>;
61 using ExternalTerminalPool = cxx::ObjectPool<ExternalTerminal, MAX_CHANNEL_NUMBER>;
65 const IceoryxTerminalPtr iceoryxTerminal,
66 const ExternalTerminalPtr externalTerminal)
noexcept;
76 template <
typename IceoryxPubSubOptions>
78 const IceoryxPubSubOptions& options)
noexcept;
81 IceoryxTerminalPtr getIceoryxTerminal() const noexcept;
82 ExternalTerminalPtr getExternalTerminal() const noexcept;
85 static IceoryxTerminalPool s_iceoryxTerminals;
86 static ExternalTerminalPool s_externalTerminals;
88 capro::ServiceDescription m_service;
89 IceoryxTerminalPtr m_iceoryxTerminal;
90 ExternalTerminalPtr m_externalTerminal;
static cxx::expected< Channel, ChannelError > create(const capro::ServiceDescription &service, const IceoryxPubSubOptions &options) noexcept
create Creates a channel for the given service whose terminals reside in a static object pool.