Transaktionen schreiben

Im letzten Abschnitt haben wir das Lesen von Interaktionen von Attributen und Ereignissen besprochen. In diesem Abschnitt wird das Schreiben von Attributen erörtert, d. h. die Änderung eines Attributwerts in einem Cluster wie Level.

Nicht getaktete Schreibtransaktion

Sequenz der Operationen bei einer Transaktion ohne Zeitangabe
Abbildung 1: Nicht getaktete Schreibtransaktion

Anfrageaktion zum Schreiben

Richtung: Initiator -> Ziel

Ähnlich wie die Leseanfrageaktion stellt der Initiator in dieser Aktion dem Ziel Folgendes zur Verfügung:

  • Schreibanfragen: eine Liste mit einem oder mehreren Tupeln, die Pfad und Daten enthalten.
  • Zeitgesteuerte Anfrage: Ein Flag, das angibt, ob diese Aktion Teil einer zeitlich festgelegten Schreibtransaktion ist.
  • Suppress Response: Ein Flag, das angibt, ob die Antwortstatusaktion unterdrückt werden soll.

Aktion „Antwort schreiben“

Richtung: Ziel -> Initiator

Nachdem das Ziel die Schreibanfrageaktion erhalten hat, wird die Transaktion mit einer Schreibantwortaktion abgeschlossen, die Folgendes überträgt:

  • Write Responses (Antworten schreiben): Eine Liste mit Pfaden und Fehlercodes für jede Schreibanfrage, die von der Schreibanfrageaktion gesendet wird.

Einschränkungen für unzeitliche Schreibvorgänge

Die Schreibanfrageaktion kann ein Groupcast sein. In diesem Fall muss jedoch das Flag „Antwort unterdrücken“ gesetzt sein. Der Grund dafür ist, dass das Netzwerk andernfalls durch gleichzeitige Antworten von allen Mitgliedern einer Gruppe überflutet werden könnte.

Um dieses Verhalten zu aktivieren, kann der in der Liste „Schreibanfragen“ verwendete Pfad Gruppen oder Platzhalter enthalten sein. Dies gilt jedoch nur für das Feld „Endpunkt“.

Zeitgesteuerte Schreibtransaktion

Sequenz der Vorgänge einer zeitgesteuerten Schreibtransaktion
Abbildung 2: Zeitgesteuerte Schreibtransaktion

Transaktionen mit zeitgesteuerten Schreibvorgängen fügen den nicht abgestimmten Schreibtransaktionen einige Schritte hinzu.

Zeitgesteuerte Anfrageaktion

Richtung: Initiator -> Ziel

Ein Initiator startet die Transaktion, die diese Aktion sendet, die Folgendes enthält:

  • Zeitlimit: die Anzahl der Millisekunden, die diese Transaktion offen bleiben darf. Während dieses Zeitraums gilt die nächste vom Initiator gesendete Aktion als gültig.

Nach dem Empfang der zeitgesteuerten Anfrageaktion muss das Ziel die zeitgesteuerte Anfrageaktion mit einer Statusantwortaktion bestätigen. Sobald der Initiator eine Statusantwortaktion erhält, die keine Fehler meldet, sendet er eine Schreibanfrageaktion.

Anfrageaktion zum Schreiben

Entspricht der zuvor beschriebenen Schreibanfrageaktion.

Aktion „Antwort schreiben“

Entspricht der zuvor beschriebenen Antwortaktion schreiben.

Beschränkungen für zeitgesteuerte Schreibvorgänge

Die Aktionen für zeitgesteuerte Anfragen, die Schreibanfrageaktionen und die Schreibantwortaktion sind nur Unicast-Aktionen.