cordis-rs
A typed runtime for long-lived, plugin-oriented Rust applications — lifecycle, exact service placement, typed events, deterministic cleanup, scopes, and isolation.
一句话定位
A typed runtime for long-lived, plugin-oriented Rust applications — lifecycle, exact service placement, typed events, deterministic cleanup, scopes, and isolation.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add 'git+https://github.com/dshbox/cordis-rs.git#cd540033487f62c1b574bffd39befb717afb8a35'
兼容的 DSH 版本
未声明
作者与热度
dshbox · ★ 72 · 更新于 2026-11-09
关于这个插件
Cordis
English | 简体中文
Cordis is a typed runtime for long-lived, plugin-oriented Rust applications. It gives application components one model for lifecycle, service dependencies, typed events, resource cleanup, and explicit isolation boundaries.
Cordis is useful when your program is more than a collection of short-lived function calls: plugins can appear and disappear, services can become available or unavailable, configuration can change, and runtime resources must still be cleaned up deterministically. Install
For applications, keep the historical package and import identity:
cordis-rs is now a thin application-facing facade over the v3 runtime contract. Framework and plugin authors may depend on that contract directly:
Optional capabilities stay explicit semantic dependencies:
Cordis v3 requires Rust 1.88 or newer and uses Rust 2024 Edition.
When upgrading from semantic 0.5 / facade 0.10, update core, timer and loader requirements together to 0.6 and the facade to 0.11. The facade re-exports core types; mixing 0.5 and 0.6 core types causes type mismatches. 0.6 is a breaking pre-freeze line: public vocabularies expected to grow are now #[non_exhaustive] (add wildcard arms and .. patterns), Loader source rows are extensible and built with PluginEntry::new and EntryGroup::new, and two documented promises are narrowed (creation progress after its commit, and the meaning of lifecycle admission order; ADR 0029). The compatible-evolution rules, enum openness and auto-trait and operation-future Send promises are recorded in ADR 0042. For step-by-step edits and earlier upgrades, see MIGRATION.md, the core release notes and the facade release notes. Migrating from 0.6.x