属性树

分布式分层属性树:本地副本经 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")