33 : inner_(std::move(
inner)), outbound_(std::move(outbound)), inbound_(std::move(inbound)) {}
36 return inner_->scope();
60 inner_->attach_with_sink(
102 [[nodiscard]]
const std::shared_ptr<Transport>&
inner() const noexcept {
107 std::shared_ptr<Transport> inner_;
Bus — owns transports, middleware, listeners; dispatches envelopes.
void deliver_to_listeners(const EventEnvelope &v) const
Called by transports (e.g.
Definition bus.hpp:251
Polymorphic envelope cell.
Definition envelope.hpp:62
Wrapper that gates events flowing through an inner transport on both legs.
Definition filtered_transport.hpp:26
void attach_with_sink(Bus &bus, InboundSink sink) override
Attach to a bus using a caller-supplied inbound sink.
Definition filtered_transport.hpp:58
void attach(Bus &bus) override
Attach to a bus.
Definition filtered_transport.hpp:39
void flush() override
Definition filtered_transport.hpp:98
const std::shared_ptr< Transport > & inner() const noexcept
Definition filtered_transport.hpp:102
FilteredTransport(std::shared_ptr< Transport > inner, Predicate outbound={}, Predicate inbound={})
Definition filtered_transport.hpp:30
void detach() noexcept override
Definition filtered_transport.hpp:79
void dispatch(const EventEnvelopeView &v) override
Definition filtered_transport.hpp:83
TransportScope scope() const noexcept override
Definition filtered_transport.hpp:35
std::function< bool(const EventEnvelopeView &)> Predicate
Definition filtered_transport.hpp:28
Definition transport.hpp:30
Bus * bus() const noexcept
Definition transport.hpp:68
EventEnvelope — a parcel cell carrying conduit's envelope metadata plus a polymorphic payload cell.
Transport interface and the local/remote scope enum used for flag-based filtering.
Definition builder.hpp:22
std::function< void(const EventEnvelopeView &)> InboundSink
Callable installed on a Transport at attach time that receives inbound envelopes the transport pulled...
Definition transport.hpp:28
TransportScope
Distinguishes in-process transports from off-machine ones.
Definition transport.hpp:21