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

#include <transport.hpp>

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

Public Types

using Callback = std::function< void(const EventEnvelopeView &)>
 

Public Member Functions

 Transport (Callback cb)
 
 Transport (const std::string_view pattern, Callback cb)
 
TransportScope scope () const noexcept override
 
void dispatch (const EventEnvelopeView &v) override
 
std::size_t add_route (const std::string_view pattern, Callback cb)
 Add a new route at runtime.
 
void remove_route (const std::size_t id) noexcept
 
std::size_t route_count () 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.
 
virtual void attach_with_sink (Bus &bus, InboundSink sink)
 Attach to a bus using a caller-supplied inbound sink.
 
virtual void detach () noexcept
 
virtual void flush ()
 

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
 

Member Typedef Documentation

◆ Callback

using conduit::relay::Transport::Callback = std::function<void(const EventEnvelopeView&)>

Constructor & Destructor Documentation

◆ Transport() [1/2]

conduit::relay::Transport::Transport ( Callback  cb)
inlineexplicit

◆ Transport() [2/2]

conduit::relay::Transport::Transport ( const std::string_view  pattern,
Callback  cb 
)
inline

Member Function Documentation

◆ add_route()

std::size_t conduit::relay::Transport::add_route ( const std::string_view  pattern,
Callback  cb 
)
inline

Add a new route at runtime.

The returned routine id can be passed to remove_route (the helper that lives here, not the bus's Subscription type — relay routes are owned by the transport itself).

◆ dispatch()

void conduit::relay::Transport::dispatch ( const EventEnvelopeView v)
inlineoverridevirtual

Implements conduit::Transport.

◆ remove_route()

void conduit::relay::Transport::remove_route ( const std::size_t  id)
inlinenoexcept

◆ route_count()

std::size_t conduit::relay::Transport::route_count ( ) const
inlinenoexcept

◆ scope()

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

Implements conduit::Transport.


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