Transactions d'écriture

Dans la dernière section, nous avons abordé les interactions de lecture des attributs et des événements. Dans cette section, nous abordons l'écriture des attributs, c'est-à-dire la modification de la valeur d'un attribut dans un cluster, comme Level.

Transaction d'écriture non planifiée

Séquence d'opérations d'une transaction d'écriture non minutée
Figure 1: Transaction d'écriture non minutée

Action de requête d'écriture

Direction: initiant -> Target

Comme pour l'action de requête de lecture, l'initiateur fournit à la cible les éléments suivants dans cette action:

  • Requêtes d'écriture: liste d'un ou de plusieurs tuples contenant le chemin et les données.
  • Requête temporisée: indicateur qui indique si cette action fait partie d'une transaction d'écriture temporisée.
  • Supprimer la réponse: indicateur indiquant si l'action d'état de la réponse doit être supprimée.

Action d'écriture de réponse

Direction: Cible -> Déclencheur

Une fois que la cible a reçu l'action de requête d'écriture, elle finalise la transaction avec une action d'écriture de réponse qui contient les éléments suivants:

  • Write Responses (Réponses d'écriture) : liste des chemins d'accès et des codes d'erreur pour chaque requête d'écriture envoyée via une action de requête d'écriture.

Restrictions d'écriture non planifiées

L'action de requête d'écriture peut être un enregistrement de groupe, mais dans ce cas, l'indicateur Suppress Response doit être défini. La raison est que dans le cas contraire, le réseau pourrait être inondé de réponses simultanées de chaque membre d'un groupe.

Pour activer ce comportement, le chemin d'accès utilisé dans la liste "Requêtes d'écriture" peut contenir des groupes. Ils peuvent également contenir des caractères génériques, mais uniquement dans le champ "Point de terminaison".

Transaction d'écriture temporisée

Séquence des opérations d'une transaction d'écriture temporisée
Figure 2: Transaction d'écriture temporisée

Les transactions d'écriture temporisées ajoutent quelques étapes à ces transactions.

Action de demande planifiée

Direction: initiant -> Target

Un demandeur lance la transaction en envoyant cette action qui contient:

  • Délai avant expiration: durée en millisecondes pendant laquelle cette transaction peut rester ouverte. Pendant cette période, la prochaine action envoyée par l'initiateur sera considérée comme valide.

Une fois l'action de requête temporisée reçue, la cible doit accuser réception de cette action avec une action de réponse d'état. Lorsque l'initiateur reçoit une action de réponse d'état ne signalant aucune erreur, il envoie une action de requête d'écriture.

Action de requête d'écriture

Identique à l'action de requête d'écriture décrite précédemment.

Action d'écriture de réponse

Identique à l'action d'écriture de réponse décrite précédemment.

Restrictions d'écriture temporisée

Les actions de requête temporisée, les actions de requête d'écriture et les actions d'écriture de réponse sont des actions unicast uniquement.