Documentation
¶
Overview ¶
Package driverkit 定义外部 Driver 插件所需的公共契约:Config / State / Event / Command / Device / Adapter 与 Descriptor/Capability 类型,以及进程内注册表。 外部插件只依赖本包与 sdk/go/model,不 import 任何 internal/*。
语义定义以 docs/architecture/capability-model.md 为准;本包只使用标准库与 sdk/go/model,不引入第三方依赖。Core 的 internal/device 是本包的薄兼容层, 与本包共享同一个注册表。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Adapter ¶
type Adapter interface {
Name() string
// SupportedCommands 返回命令白名单(server 拒绝未知命令)。
SupportedCommands() []string
// Open 打开设备并启动接收循环;onEvent 回调设备事件(适配器保证并发安全调用)。
Open(ctx context.Context, cfg Config, onEvent func(Event)) (Device, error)
}
Adapter 是设备适配器工厂。
type CapabilityProvider ¶
type CapabilityProvider interface {
Capabilities() []model.Capability
}
CapabilityProvider 由 Adapter 可选实现:声明该适配器使用的 Capability catalog (Capability 文档,供 /api/capabilities 下发)。未实现则 catalog 为空。
type DescriptorProvider ¶
type DescriptorProvider interface {
Descriptor(cfg Config) model.Descriptor
}
DescriptorProvider 由 Adapter 可选实现:声明该适配器设备的静态 Descriptor (Entity/Capability 结构与身份;身份取自 Open 时的 cfg,观测值由 Device 后填)。 未实现则 Core 对该适配器设备不生成 Descriptor(前端走通用回落)。
type DescriptorSource ¶
type DescriptorSource interface {
Descriptor() model.Descriptor
}
DescriptorSource 由 Device 可选实现:提供带实时观测的完整 Descriptor。 未实现时 edge 回落使用 Adapter 的静态 Descriptor。
Directories
¶
| Path | Synopsis |
|---|---|
|
Package sampleexternal 是一个「仓外风格」的参考 Driver 样例:只 import 公共 SDK (sdk/go/driverkit 与 sdk/go/model),不 import 任何 internal/*。
|
Package sampleexternal 是一个「仓外风格」的参考 Driver 样例:只 import 公共 SDK (sdk/go/driverkit 与 sdk/go/model),不 import 任何 internal/*。 |