Plugin extensibility for pim-daemon.
A plugin runs in-process under the daemon's tokio runtime. The daemon owns mesh-essential state (identity broadcast, routing, the peer keystore); plugins consume those services through the ports defined here and contribute:
- Inbound [
ControlFrame::PluginPayload] handling for the plugin's ownkindnamespace. - Optional reactions to peer-state changes — currently
[
DaemonPlugin::on_peer_forgotten].
JSON-RPC method registration is intentionally NOT routed through this trait: methods are wired into the daemon's RPC dispatcher at compile time behind a Cargo feature, so the daemon can be built entirely without a given plugin.