conduit 0.6.0
Modern C++23 header-only event-dispatching / event-transport library
Loading...
Searching...
No Matches
Public Member Functions | List of all members
conduit::amqp::Transport Class Reference

AMQP pipe — one instance binds to a single AMQP routing key and carries traffic in both directions: outbound dispatch() calls publish onto the configured exchange with the configured routing key; inbound messages arriving on the bound queue are decoded via the shared event registry and delivered through the inbound sink installed at attach time. More...

#include <transport.hpp>

Inheritance diagram for conduit::amqp::Transport:
Inheritance graph
[legend]
Collaboration diagram for conduit::amqp::Transport:
Collaboration graph
[legend]

Public Member Functions

 Transport (Config config, std::shared_ptr< EventRegistry > registry={})
 
 Transport (const Transport &)=delete
 
Transportoperator= (const Transport &)=delete
 
 Transport (Transport &&)=delete
 
Transportoperator= (Transport &&)=delete
 
 ~Transport () override
 
TransportScope scope () const noexcept override
 
void attach_with_sink (Bus &bus, InboundSink sink) override
 Attach to a bus using a caller-supplied inbound sink.
 
void detach () noexcept override
 
void dispatch (const EventEnvelopeView &v) override
 
void flush () override
 
bool is_connected () const noexcept
 
- Public Member Functions inherited from conduit::Transport
 Transport ()=default
 
 Transport (const Transport &)=delete
 
 Transport (Transport &&) noexcept=default
 
Transportoperator= (const Transport &)=delete
 
Transportoperator= (Transport &&) noexcept=default
 
 ~Transport () override=default
 
virtual void attach (Bus &bus)
 Attach to a bus.
 

Additional Inherited Members

- Protected Member Functions inherited from conduit::Transport
void deliver_inbound (const EventEnvelopeView &v) const
 Subclasses call this for inbound delivery instead of touching the bus directly.
 
Busbus () const noexcept
 

Detailed Description

AMQP pipe — one instance binds to a single AMQP routing key and carries traffic in both directions: outbound dispatch() calls publish onto the configured exchange with the configured routing key; inbound messages arriving on the bound queue are decoded via the shared event registry and delivered through the inbound sink installed at attach time.

Constructor & Destructor Documentation

◆ Transport() [1/3]

conduit::amqp::Transport::Transport ( Config  config,
std::shared_ptr< EventRegistry registry = {} 
)
explicit

◆ Transport() [2/3]

conduit::amqp::Transport::Transport ( const Transport )
delete

◆ Transport() [3/3]

conduit::amqp::Transport::Transport ( Transport &&  )
delete

◆ ~Transport()

conduit::amqp::Transport::~Transport ( )
override

Member Function Documentation

◆ attach_with_sink()

void conduit::amqp::Transport::attach_with_sink ( Bus bus,
InboundSink  sink 
)
overridevirtual

Attach to a bus using a caller-supplied inbound sink.

Wrappers use this to intercept the inbound leg without each transport needing to re-implement the hook.

Reimplemented from conduit::Transport.

◆ detach()

void conduit::amqp::Transport::detach ( )
overridevirtualnoexcept

Reimplemented from conduit::Transport.

◆ dispatch()

void conduit::amqp::Transport::dispatch ( const EventEnvelopeView v)
overridevirtual

Implements conduit::Transport.

◆ flush()

void conduit::amqp::Transport::flush ( )
overridevirtual

Reimplemented from conduit::Transport.

◆ is_connected()

bool conduit::amqp::Transport::is_connected ( ) const
noexcept

◆ operator=() [1/2]

Transport & conduit::amqp::Transport::operator= ( const Transport )
delete

◆ operator=() [2/2]

Transport & conduit::amqp::Transport::operator= ( Transport &&  )
delete

◆ scope()

TransportScope conduit::amqp::Transport::scope ( ) const
inlineoverridevirtualnoexcept

Implements conduit::Transport.


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