VLink 2.0.0
A high-performance communication middleware
Loading...
Searching...
No Matches
vlink::RunablePluginInterface Class Referenceabstract

Abstract plugin interface that provides its own MessageLoop event thread. More...

#include <runnable_plugin_interface.h>

Inheritance diagram for vlink::RunablePluginInterface:
Collaboration diagram for vlink::RunablePluginInterface:

Public Member Functions

virtual void on_init ()=0
 Called by the host after the plugin's event loop has started.
virtual void on_deinit ()=0
 Called by the host before the plugin is unloaded.

Protected Member Functions

 RunablePluginInterface ()=default
 ~RunablePluginInterface () override=default

Additional Inherited Members

 Queue implementation type. More...
 Idle strategy controlling CPU and latency trade-offs. More...
 Pre-defined task priority levels for kPriorityType loops. More...

Detailed Description

Abstract plugin interface that provides its own MessageLoop event thread.

The plugin owns a MessageLoop and implements on_init() / on_deinit() for lifecycle management. The host is responsible for calling async_run() after loading.

Constructor & Destructor Documentation

◆ RunablePluginInterface()

vlink::RunablePluginInterface::RunablePluginInterface ( )
protecteddefault
Here is the caller graph for this function:

◆ ~RunablePluginInterface()

vlink::RunablePluginInterface::~RunablePluginInterface ( )
overrideprotecteddefault

Member Function Documentation

◆ on_deinit()

virtual void vlink::RunablePluginInterface::on_deinit ( )
pure virtual

Called by the host before the plugin is unloaded.

Implement this method to release all resources, cancel timers, and unsubscribe. After this call, the host will stop the event loop and unload the plugin.

Here is the call graph for this function:

◆ on_init()

virtual void vlink::RunablePluginInterface::on_init ( )
pure virtual

Called by the host after the plugin's event loop has started.

Implement this method to create subscribers, timers, and other resources that require the loop to be running. This method is called on the caller's thread.


The documentation for this class was generated from the following file: