Class TriggerTransportProvider

Class Documentation

class TriggerTransportProvider

Abstract transport backend for delivering trigger events to subscribers.

Plugins implement this interface to provide alternative delivery protocols beyond the built-in SSE transport.

Thread Safety

deliver_event() may be called from multiple threads concurrently. Implementations must be thread-safe.

Public Functions

virtual ~TriggerTransportProvider() = default
virtual std::string protocol_name() const = 0

Return the protocol name this provider handles (e.g. “sse”, “x-mqtt”). Used to match against TriggerInfo::protocol during event dispatch.

virtual tl::expected<void, std::string> deliver_event(const TriggerEventDelivery &event) = 0

Deliver a trigger event to all subscribers of the given trigger.

Parameters:

event – The event to deliver, including envelope and metadata.

Returns:

void on success, error string on failure.