75#ifdef VLINK_SUPPORT_SHM
110 explicit ShmConf(
const std::string& _address,
const std::string& _event =
"", int32_t _domain = 0, int32_t _depth = 0,
111 int32_t _history = 0, int32_t _wait = 0);
119 [[nodiscard]]
bool operator==(
const ShmConf& conf)
const noexcept;
127 [[nodiscard]]
bool operator!=(
const ShmConf& conf)
const noexcept;
134 [[nodiscard]]
TransportType get_transport_type()
const override;
145 [[nodiscard]]
static bool has_roudi_inited();
157 [[nodiscard]]
static bool has_runtime_inited();
174 [[nodiscard]]
static bool has_roudi_running();
194 [[nodiscard]]
static bool auto_init_roudi(
bool same_process_from_roudi =
false);
208 static void init_roudi(
const std::string& config_path =
"",
int memory_strategy = 0,
bool monitoring_enable =
true);
222 static void init_runtime(
const std::string& name =
"",
bool same_process_from_roudi =
false);
231 static void deinit_runtime();
233#ifndef VLINK_ENABLE_C_INTERFACE
244inline ShmConf::ShmConf(
const std::string& _address,
const std::string& _event, int32_t _domain, int32_t _depth,
245 int32_t _history, int32_t _wait)
246 : address(_address), event(_event), domain(_domain), depth(_depth), history(_history), wait(_wait) {}
248inline bool ShmConf::operator==(
const ShmConf& conf)
const noexcept {
249 return address == conf.address &&
event == conf.event && domain == conf.domain && depth == conf.depth &&
250 history == conf.history && wait == conf.wait;
253inline bool ShmConf::operator!=(
const ShmConf& conf)
const noexcept {
return !(*
this == conf); }
255inline TransportType ShmConf::get_transport_type()
const {
return TransportType::kShm; }
Abstract transport configuration base class and associated helper macros.
#define VLINK_CONF_IMPL(classname)
Standard boilerplate for concrete Conf subclass declarations.
Definition conf.h:227
#define VLINK_DECLARE_GLOBAL_PROPERTY()
Declares per-transport global state: thread count and property storage.
Definition conf.h:292
#define VLINK_ALLOW_IMPL_TYPE(type)
Declares a static constexpr bitmask of supported ImplType values.
Definition conf.h:268
#define VLINK_EXPORT
Definition macros.h:85
TransportType
Enumeration of all supported transport backends.
Definition types.h:107
Abstract base class for VLink transport configuration objects.
Definition conf.h:83