105 std::function<void(int64_t timestamp,
const std::string& url,
ActionType action_type,
const Bytes& data)>;
151 virtual void push(int64_t timestamp,
const std::string& url,
ActionType action_type,
const Bytes& data) = 0;
virtual ~BagReaderPluginInterface()=default
void register_output_callback(OutputCallback &&output_callback)
Registers the output callback used to forward messages after processing.
定义 bag_reader_plugin_interface.h:164
OutputCallback output_callback_
定义 bag_reader_plugin_interface.h:154
virtual void push(int64_t timestamp, const std::string &url, ActionType action_type, const Bytes &data)=0
Called for each replayed message, allowing interception and transformation.
BagReaderPluginInterface()=default
virtual bool convert_url_meta(std::string &url, std::string &ser_type, SchemaType &schema_type)=0
Called for each URL in the bag to allow remapping of address, serialisation type, and schema family.
virtual VersionInfo get_version_info() const =0
Returns version and build metadata for this plugin.
std::function< void(int64_t timestamp, const std::string &url, ActionType action_type, const Bytes &data)> OutputCallback
Callback type used to forward processed messages to the BagReader output.
定义 bag_reader_plugin_interface.h:104
Versatile 128-byte byte buffer with SBO, five ownership modes and compression helpers.
定义 bytes.h:113
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
定义 macros.h:184
SchemaType
Coarse runtime schema family used by discovery, bag metadata, and proxy routing.
定义 types.h:184
ActionType
Identifies the type of message action for recording purposes.
定义 types.h:162
Type-safe dynamic plugin loader with version checking and lifecycle management.
#define VLINK_PLUGIN_REGISTER(InterfaceType)
Macro to register a plugin, automatically deriving its ID from the interface type name.
定义 plugin.h:343
Plugin version and build metadata returned by get_version_info().
定义 bag_reader_plugin_interface.h:90
std::string commit_id
Source control commit hash.
定义 bag_reader_plugin_interface.h:95
std::string tag
Source control tag.
定义 bag_reader_plugin_interface.h:94
std::string timestamp
Build timestamp.
定义 bag_reader_plugin_interface.h:93
std::string version
Semantic version string.
定义 bag_reader_plugin_interface.h:92
std::string name
Plugin display name.
定义 bag_reader_plugin_interface.h:91
Core type definitions shared across all VLink node implementations.