属性树
分布式分层属性树:本地副本经 Property Hub 与 Propertylogger 双向同步。
概述
quatm/servers/properties.py 提供属性树(Properties):管理控制中心的配置与
属性,维护属性字典的同步副本。本地 set / get 会发布到 Property Hub,中央的变
更也推送回本地副本。属性寻址类似文件系统(如 Drivers/xxx 或以 / 开头的绝对路
径)。
关键方法
| 方法 | 说明 |
|---|---|
set(key, value) | 设置属性并发布变更到 Property Hub |
get(key, default=...) | 读取值(总是返回深拷贝;缺失时创建默认值) |
delete(key) | 删除条目(含全部子条目)并广播 |
changes() | 返回自上次调用以来的变更键 |
close / close_all | 关闭 socket 与后台线程 |
PropertyAttribute 把属性树中的一个属性当作普通 Python attribute 读写(宿主需有
_props)。
用法
from quatm.servers.properties import Properties
props = Properties()
props.set("laser/power", 50e-3)
power = props.get("laser/power")