Crate unistore_core

Crate unistore_core 

Source
Expand description

UniStore 核心定义 Crate

职责:

  • 定义 Capability trait,所有能力模块的共同契约
  • 定义核心错误类型 CapabilityError
  • 定义能力元数据 CapabilityInfo
  • 提供能力注册与发现的基础抽象

§设计哲学

  • 乐高模块化:此 crate 是“基础板“,所有能力“积木“都安装在其上
  • 接口统一:通过 trait 定义统一的能力契约
  • 解耦:能力 crate 之间无直接依赖,仅依赖此核心

§使用方式

能力开发者:

use unistore_core::{Capability, CapabilityInfo};

pub struct MyCapability { /* ... */ }

impl Capability for MyCapability {
    fn info(&self) -> CapabilityInfo {
        CapabilityInfo::new("my-capability", env!("CARGO_PKG_VERSION"))
    }

    async fn start(&mut self) -> Result<(), CapabilityError> {
        // 初始化逻辑
        Ok(())
    }

    async fn stop(&mut self) -> Result<(), CapabilityError> {
        // 清理逻辑
        Ok(())
    }
}

应用开发者:

use unistore::UniRuntime;
use unistore_serial::SerialCapability;

let runtime = UniRuntime::builder()
    .capability(SerialCapability::new())
    .build()?;

Modules§

prelude
预导入模块,包含常用类型

Structs§

CapabilityInfo
能力元数据信息
CapabilityRegistry
能力注册表

Enums§

CapabilityError
能力错误类型
CapabilityState
能力状态

Traits§

Capability
能力 trait - 所有扩展能力的共同契约