122template <
typename ImplT, SecurityType SecT>
341 void set_property(
const std::string& prop,
const std::string& value);
349 [[nodiscard]] std::string
get_property(
const std::string& prop)
const;
367 [[nodiscard]]
const std::string&
get_url()
const;
550 template <
typename CallbackT,
typename... ArgsT>
553 template <
typename TypeT>
Minimal interface for accessing the underlying native transport handle.
定义 node_impl.h:96
Versatile 128-byte byte buffer with SBO, five ownership modes and compression helpers.
定义 bytes.h:113
Single-threaded serial task dispatcher with integrated timer support.
定义 message_loop.h:106
std::function< void(const Status::BasePtr &ptr)> StatusCallback
Callback invoked on DDS status events (e.g. deadline missed).
定义 node_impl.h:155
Transport-agnostic CRTP base for all VLink communication nodes.
定义 node.h:123
void set_property(const std::string &prop, const std::string &value)
Sets a transport-specific key-value property on the node.
定义 node-inl.h:162
void set_ser_type(const std::string &ser_type, SchemaType schema_type=SchemaType::kUnknown)
Overrides the runtime wire metadata for this node.
定义 node-inl.h:212
bool attach(class MessageLoop *message_loop)
Attaches the node to a MessageLoop for callback dispatching.
定义 node-inl.h:127
SchemaType get_schema_type() const
Returns the current coarse schema family.
定义 node-inl.h:264
virtual void interrupt()
Unblocks any active blocking wait on this node.
定义 node-inl.h:142
bool has_inited() const
Returns true if init() has been successfully called.
定义 node-inl.h:79
bool resume()
Resumes message delivery after a suspend().
定义 node-inl.h:117
const std::string & get_ser_type() const
Returns the current serialisation type string.
定义 node-inl.h:259
std::unique_ptr< ImplT > impl_
定义 node.h:558
void invoke_callback(const CallbackT &callback, ArgsT &&... args)
定义 node-inl.h:345
void set_safety_quit(bool safety_quit)
Enables or disables safe-quit mode.
定义 node-inl.h:304
bool is_support_loan() const
Returns true if the transport supports zero-copy loaned buffers.
定义 node-inl.h:84
bool get_discovery_enabled() const
Returns true if peer-discovery is currently enabled.
定义 node-inl.h:280
bool suspend()
Suspends message delivery on this node.
定义 node-inl.h:112
virtual bool init()
Initialises the node and its transport back-end.
定义 node-inl.h:39
std::optional< std::mutex > quit_mtx_
定义 node.h:560
void set_record_path(const std::string &path)
Sets the filesystem path for message bag recording.
定义 node-inl.h:194
void register_status_handler(StatusCallback &&callback)
Registers a handler called when the node's status changes.
定义 node-inl.h:157
bool is_suspend() const
Returns true if the node is currently suspended.
定义 node-inl.h:122
bool is_support_loan_
定义 node.h:562
virtual void set_manual_unloan(bool manual_unloan)
Enables or disables manual-unloan mode for zero-copy receives.
定义 node-inl.h:101
virtual bool deinit()
Shuts down the node and releases all transport resources.
定义 node-inl.h:57
std::optional< Security > security_
定义 node.h:559
const std::string & get_url() const
Returns the URL string used to construct this node.
定义 node-inl.h:177
virtual ~Node()
定义 node-inl.h:327
void bind_proto_arena(void *proto_arena)
Binds a Protobuf Arena for arena-allocated message objects.
定义 node-inl.h:285
bool get_safety_quit() const
Returns true if safe-quit mode is currently active.
定义 node-inl.h:299
TypeT get_default_value()
定义 node-inl.h:356
bool is_manual_unloan_
定义 node.h:563
std::atomic_bool has_inited_
定义 node.h:556
void set_security_callbacks(Security::Callback &&encrypt_callback, Security::Callback &&decrypt_callback)
Installs custom encrypt and decrypt callbacks.
定义 node-inl.h:204
virtual bool is_manual_unloan() const
Returns true if manual-unloan mode is active.
定义 node-inl.h:107
class MessageLoop * get_message_loop() const
Returns the MessageLoop this node is attached to.
定义 node-inl.h:137
Bytes loan(int64_t size)
Allocates a loaned buffer from the transport memory pool.
定义 node-inl.h:89
void * proto_arena_
定义 node.h:561
const AbstractNode * get_abstract_node() const
Returns the abstract node handle for graph introspection.
定义 node-inl.h:147
void set_security_key(const std::string &key)
Sets the symmetric encryption key for message security.
定义 node-inl.h:182
double get_cpu_usage() const
Returns the cumulative CPU usage ratio for this node.
定义 node-inl.h:290
bool detach()
Detaches the node from its current MessageLoop.
定义 node-inl.h:132
std::string get_property(const std::string &prop) const
Retrieves a transport-specific property value.
定义 node-inl.h:167
Status::BasePtr get_status(Status::Type type) const
Returns the current status object for the specified status type.
定义 node-inl.h:152
TransportType get_transport_type() const
Returns the TransportType of the transport this node is bound to.
定义 node-inl.h:172
void set_discovery_enabled(bool enable)
Enables or disables peer-discovery on this node.
定义 node-inl.h:269
bool return_loan(const Bytes &bytes)
Returns a previously loaned buffer back to the transport pool.
定义 node-inl.h:96
NodeImpl::StatusCallback StatusCallback
Callback type for node status-change notifications.
定义 node.h:128
void enable_security()
定义 node-inl.h:332
void set_ssl_options(const SslOptions &options)
Configures transport-layer SSL/TLS encryption for this node.
定义 node-inl.h:317
std::function< bool(const Bytes &in, Bytes &out)> Callback
Callback type for custom encryption or decryption.
定义 security.h:94
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
定义 macros.h:184
Type
Discriminator for concrete status event types.
定义 status.h:97
std::shared_ptr< Status::Base > BasePtr
Type alias for a shared pointer to a base status event.
定义 status.h:241
SchemaType
Coarse runtime schema family used by discovery, bag metadata, and proxy routing.
定义 types.h:184
@ kUnknown
Decode category is not known.
定义 types.h:185
TransportType
Enumeration of all supported transport backends.
定义 types.h:107
Abstract transport node base classes used by all VLink node implementations.
AES-128-CBC encryption/decryption with optional custom callback override.
Aggregate of SSL/TLS settings for transport-layer encryption.
定义 ssl_options.h:119