在上一部分中,我们讨论了属性和事件的读取交互。在这一部分中,我们将讨论特性的写入,即更改集群上的属性值(例如 Level)。
非定时写入事务
写入请求操作
方向:启动器 -> 目标
与读取请求操作类似,在此 Action 中,发起者为目标提供以下内容:
- 写入请求:包含一个或多个元组(包含路径和数据)的列表。
- 定时请求:指示此操作是否属于定时写入事务的标志。
- 抑制响应:一个标记,用于表明是否应抑制响应状态操作。
写入回复操作
方向:目标 -> 发起方
目标收到写入请求操作后,它将使用包含以下内容的写入响应操作完成事务:
- 写入响应:针对写入请求操作发送的每个写入请求的路径和错误代码列表。
非定时写入限制
写入请求操作可能是组播,但在这种情况下必须设置“禁止响应”标志。其原因如下:否则网络可能会被群组中每个成员的同步响应所淹没。
如需启用此行为,“写入请求”列表中使用的路径可以包含组,或者可以包含通配符,但仅限于“端点”字段。
定时写入事务
定时写入事务为未定时写入事务增加了几个步骤。
定时请求操作
方向:启动器 -> 目标
发起者会启动发送此 Action 的交易,其中包含:
- 超时:此事务可以保持打开状态的毫秒数。在此期间,发起者发送的下一项操作将被视为有效。
收到定时请求操作后,目标必须使用状态响应操作确认定时请求操作。一旦发起者收到未报告任何错误的状态响应操作,就会发送写入请求操作。
写入请求操作
与上文所述的写入请求操作相同。
写入回复操作
与上述写入响应操作相同。
定时写入限制
定时请求操作、写入请求操作和写入响应操作是单播操作。