Запись транзакций

В последнем разделе мы обсудили взаимодействие чтения атрибутов и событий. В этом разделе мы обсудим написание атрибутов, то есть изменение значения атрибута в кластере, таком как Level .

Неограниченная транзакция записи

Последовательность операций транзакции бессрочной записи
Рисунок 1: Неограниченная транзакция записи

Действие запроса на запись

Направление: Инициатор -> Цель

Подобно действию запроса на чтение, в этом действии инициатор предоставляет цели:

  • Запросы на запись : список из одного или нескольких кортежей, содержащих путь и данные.
  • Временной запрос : флаг, указывающий, является ли это действие частью транзакции временной записи.
  • Подавить ответ : флаг, указывающий, следует ли подавлять действие состояния ответа.

Написать ответное действие

Направление: Цель -> Инициатор

После того, как цель получит действие запроса на запись, она завершит транзакцию действием ответа на запись, которое несет:

  • Ответы на запись : список путей и кодов ошибок для каждого запроса на запись, отправленного в действии запроса на запись.

Неограниченные ограничения записи

Действие запроса на запись может быть групповым, но в этом случае должен быть установлен флаг Suppress Response. Причина в том, что в противном случае сеть может быть перегружена одновременными ответами от каждого члена группы.

Чтобы включить такое поведение, путь, используемый в списке запросов на запись, может содержать группы или, альтернативно, они могут содержать подстановочные знаки, но только в поле Конечная точка.

Транзакция записи по времени

Последовательность операций транзакции временной записи
Рисунок 2: Транзакция записи по времени

Транзакции записи по времени добавляют несколько шагов к транзакциям записи по времени.

Действие запроса по времени

Направление: Инициатор -> Цель

Инициатор запускает Транзакцию, отправляя это Действие, которое содержит:

  • Таймаут : сколько миллисекунд эта транзакция может оставаться открытой. В течение этого периода следующее действие, отправленное Инициатором, будет считаться действительным.

После получения действия временного запроса цель должна подтвердить действие временного запроса с помощью действия ответа на статус. Как только инициатор получит действие ответа на статус, сообщающее об отсутствии ошибок, он отправит действие запроса на запись.

Действие запроса на запись

То же, что и ранее описанное действие запроса на запись .

Написать ответное действие

То же, что и ранее описанное действие Write Response .

Ограничения записи по времени

Действие временного запроса, действие запроса на запись и действие ответа на запись предназначены только для одноадресной передачи.