|
VLink 2.0.0
A high-performance communication middleware
|
Plugin ABI for dynamically loaded transport Conf factories.
More...
Go to the source code of this file.
Classes | |
| struct | vlink::ConfPluginInterface |
Pure-virtual plugin interface for external transport Conf factories. More... | |
Namespaces | |
| namespace | vlink |
Plugin ABI for dynamically loaded transport Conf factories.
ConfPluginInterface is the abstract C++ interface that every externally loaded VLink transport plugin must implement. Plugins are shared libraries discovered at runtime via the VLINK_URL_PLUGINS environment variable (or the Url::init_plugins() call).
Url is constructed and the built-in transport table does not recognise the transport field in the URL, Url::load_for_plugin() iterates over all loaded plugins and calls get_transport_type() on each to find a matching transport. If found, create() is called to obtain a fresh Conf instance for that transport.VLINK_PLUGIN_EXPORT macro (from base/plugin.h) injects the symbol needed for the plugin loader to locate and instantiate this type.create() may be called multiple times to produce independent Conf objects for different Url instances.