14#include <commons/color.hpp>
15#include <commons/display_info.hpp>
16#include <commons/flag.hpp>
17#include <commons/icon.hpp>
18#include <commons/icons.hpp>
29template <comms::FixedString Name,
typename Category = ConduitFlagCategory>
30using Flag = comms::Flag<Name, Category>;
43 static const comms::DisplayInfo info{
45 .description =
"Force same-thread dispatch even in Queue / ThreadPool execution modes.",
46 .icon = comms::Icons::mdi::flash,
47 .color = comms::Colors::mui::yellow_700,
56 static const comms::DisplayInfo info{
58 .description =
"Hint to durable transports that they should persist the envelope.",
59 .icon = comms::Icons::mdi::database,
60 .color = comms::Colors::mui::blue_700,
69 static const comms::DisplayInfo info{
71 .description =
"Hint to transports to use a persistent (human-readable) wire format.",
72 .icon = comms::Icons::mdi::file_document_outline,
73 .color = comms::Colors::mui::teal_500,
82 static const comms::DisplayInfo info{
83 .name =
"NoMiddleware",
84 .description =
"Skip the middleware pipeline for this envelope.",
85 .icon = comms::Icons::mdi::pipe_disconnected,
86 .color = comms::Colors::mui::grey_600,
95 static const comms::DisplayInfo info{
98 "Request the broker / transport acknowledge the publish before returning.",
99 .icon = comms::Icons::mdi::check_decagram,
100 .color = comms::Colors::mui::green_600,
109 static const comms::DisplayInfo info{
111 .description =
"Hint that this envelope is intended for fan-out broadcast.",
112 .icon = comms::Icons::mdi::broadcast,
113 .color = comms::Colors::mui::deep_orange_500,
122 static const comms::DisplayInfo info{
124 .description =
"Restrict dispatch to transports with TransportScope::Local.",
125 .icon = comms::Icons::mdi::home_circle,
126 .color = comms::Colors::mui::light_blue_500,
135 static const comms::DisplayInfo info{
136 .name =
"RemoteOnly",
137 .description =
"Restrict dispatch to transports with TransportScope::Remote.",
138 .icon = comms::Icons::mdi::earth,
139 .color = comms::Colors::mui::indigo_500,
comms::FlagSet FlagSet
Definition flags.hpp:32
COMMONS_REGISTER_FLAG(Direct)
comms::Flag< Name, Category > Flag
Template alias mirroring comms::Flag with ConduitFlagCategory as the default — preserves the old Flag...
Definition flags.hpp:30
Hint that this envelope is intended for fan-out broadcast.
Definition flags.hpp:107
static const comms::DisplayInfo & display_info()
Definition flags.hpp:108
Single category for all conduit-defined flags.
Definition flags.hpp:25
Force same-thread dispatch even in Queue / ThreadPool execution modes.
Definition flags.hpp:41
static const comms::DisplayInfo & display_info()
Definition flags.hpp:42
Hint to durable transports that they should persist the envelope.
Definition flags.hpp:54
static const comms::DisplayInfo & display_info()
Definition flags.hpp:55
Restrict dispatch to transports with TransportScope::Local.
Definition flags.hpp:120
static const comms::DisplayInfo & display_info()
Definition flags.hpp:121
Skip the middleware pipeline for this envelope.
Definition flags.hpp:80
static const comms::DisplayInfo & display_info()
Definition flags.hpp:81
Hint to transports to use a persistent (human-readable) wire format.
Definition flags.hpp:67
static const comms::DisplayInfo & display_info()
Definition flags.hpp:68
Restrict dispatch to transports with TransportScope::Remote.
Definition flags.hpp:133
static const comms::DisplayInfo & display_info()
Definition flags.hpp:134
Request the broker / transport acknowledge the publish before returning.
Definition flags.hpp:93
static const comms::DisplayInfo & display_info()
Definition flags.hpp:94