Expand description
Plugins are independent components of the application that create and consume events. Plugins can be either internal, meaning they are written in Rust and run within the main application process as a child thread, or external, meaning they run in a separate process from the main application. Internal plugins use an inprocess communication mechanism to publish ans subscribe to events, while external plugins communicate with the main application over TCP.
The following traits provide the contracts for writing internal ans external plugins.
Traitsยง
- External
Plugin - Public API for defining external plugins. External plugins are plugins that will run in a separate process from the main application process. In particular, all plugins written in languages other than Rust will be external plugins. These external plugins still need to be registered on the main application.
- Plugin
- Public API for defining the internal plugins. Internal plugns are plugins that run within the main application process in a child thread. In particular, all internal plugins must be written in Rust.