Zapis transakcji

W ostatniej sekcji omówiliśmy interakcje odczytu atrybutów i zdarzeń. W tej sekcji omówimy zapis atrybutów, czyli zmianę wartości atrybutu w klastrze, np. Level.

Niezaplanowana transakcja zapisu

Kolejność operacji nieterminowej transakcji zapisu
Rysunek 1. Niezaplanowana transakcja zapisu

Działanie zapisu żądania

Kierunek: Inicjator -> Cel

Podobnie jak w przypadku działania żądania odczytu, w tej akcji inicjator udostępnia celowi:

  • Zapis żądań: lista co najmniej 1 kropki zawierającej ścieżkę i dane.
  • Żądanie czasowe: flaga wskazująca, czy dane działanie jest częścią transakcji zapisu z opóźnieniem.
  • Suppress Response: flaga wskazująca, czy działanie stanu odpowiedzi powinno zostać pominięte.

Działanie zapisu odpowiedzi

Kierunek: Kierowanie -> Inicjator

Gdy środowisko docelowe otrzyma działanie żądania zapisu, sfinalizuje transakcję, wysyłając odpowiedź na żądanie:

  • Zapis odpowiedzi: lista ścieżek i kodów błędów dla każdego żądania zapisu wysłanego w ramach działania żądania zapisu.

Nieograniczone czasowo ograniczenia zapisu

Działanie żądania zapisu może być grupowaniem, ale w tym przypadku należy ustawić flagę SuppressResponse. Powód jest taki, że w przeciwnym razie sieć może zostać zapełniona jednoczesnymi odpowiedziami wszystkich członków grupy.

Aby włączyć to zachowanie, ścieżka używana na liście żądań zapisu może zawierać grupy lub symbole wieloznaczne, ale tylko w polu Punkt końcowy.

Czasowa transakcja zapisu

Kolejność operacji zapisu opóźnionego
Rysunek 2. Transakcja zapisu z upływem czasu

Transakcje zapisu z opóźnieniem to dodatkowe kroki do nieczasowych transakcji zapisu.

Działanie związane z żądaniem zaplanowanym

Kierunek: Inicjator -> Cel

Inicjator rozpoczyna transakcję, która wysyła tę akcję zawierającą:

  • Czas oczekiwania: liczba milisekund, które mogą pozostać otwarte. W tym czasie następne działanie wysłane przez inicjatora zostanie uznane za prawidłowe.

Po odebraniu działania żądania zaplanowanego użytkownika obiekt docelowy musi potwierdzić tę czynność za pomocą stanu odpowiedzi. Gdy inicjator otrzyma odpowiedź o braku błędów, wysyła żądanie zapisu.

Działanie zapisu żądania

Tak samo jak w przypadku wcześniej opisanego zapisu żądania.

Działanie zapisu odpowiedzi

Tak samo jak w przypadku wcześniej opisanej opcji Write Response Action.

Ograniczenia planowanego zapisu

Działanie związane z żądaniem czasu, akcja żądania zapisu i akcja odpowiedzi na zapis są możliwe tylko w trybie pojedynczym.