Expand description
§RPFM IPC - Inter-Process Communication Protocol
This crate defines the protocol used between RPFM’s clients (the UI, MCP clients and scripts) and the backend
server (rpfm_server), and the settings both sides share.
§Protocol Overview
Clients call typed methods of the server over JSON-RPC 2.0, sent as WebSocket text frames:
- The client sends an
api::RpcRequestwith a unique ID, a method name liketable.rows, and its params. - The server answers with an
api::RpcResponsewith the same ID, holding the result or anapi::ApiError. - Long methods run as jobs: they answer right away with a job ID, and report their progress and result in
job.updatednotifications.
Each method is a struct implementing api::Request, which ties it to its name and response type.
§Modules
api: The methods, grouped by domain, and the JSON-RPC envelope.helpers: Data structures shared by several methods, likehelpers::ContainerInfo,helpers::RFileInfoandhelpers::DataSource.settings: The settings store and the config folder helpers.settings_keys: The keys of the settings.
Modules§
- api
- The server API: typed methods over JSON-RPC 2.0.
- helpers
- IPC Helpers Module
- settings
- Persistent settings store and config-path helpers.
- settings_
keys - Typed constants for all settings keys used across the application.