Nell'ultima sezione abbiamo parlato delle interazioni di lettura di Attributi ed Eventi. In questa sezione parleremo della scrittura degli attributi, ovvero la modifica di un valore dell'attributo in un cluster come Level.
Transazione di scrittura non programmata
Azione di richiesta di scrittura
Direzione: Iniziatore -> Target
Analogamente all'azione di richiesta di lettura, in questa azione l'iniziatore fornisce il target con:
- Richieste di scrittura: un elenco di una o più tuple contenenti Percorso e dati.
- Richiesta temporizzata: un flag che indica se l'azione fa parte di una transazione di scrittura a tempo.
- Suppress Response (Ignora risposta): un flag che indica se l'azione Stato risposta deve essere soppressa.
Scrivi azione risposta
Direzione: Target -> Iniziatore
Dopo aver ricevuto l'azione di richiesta di scrittura, il target finalizzerà la transazione con un'azione di risposta in scrittura che prevede:
- Scrivi risposte: un elenco di percorsi e codici di errore per ogni richiesta di scrittura inviata nell'azione di richiesta di scrittura.
Limitazioni di scrittura non programmata
L'azione di richiesta di scrittura può essere un groupcast, ma in questo caso è necessario impostare il flag Elimina risposta. La motivazione è che altrimenti la rete potrebbe essere inondata da risposte simultanee da parte di ogni membro di un gruppo.
Per attivare questo comportamento, il percorso utilizzato nell'elenco Richieste di scrittura può contenere gruppi e, in alternativa, può contenere caratteri jolly, ma solo nel campo Endpoint.
Transazione di scrittura a tempo
Le transazioni di scrittura a tempo aggiungono alcuni passaggi alle transazioni di scrittura non temporizzate.
Azione richiesta a tempo
Direzione: Iniziatore -> Target
Un iniziatore avvia la transazione inviando questa azione che contiene:
- Timeout: per quanti millisecondi questa transazione potrebbe rimanere aperta. Durante questo periodo, sarà considerata valida l'azione successiva inviata dall'iniziatore.
Una volta ricevuta l'azione di richiesta temporizzata, il target deve confermare l'azione di richiesta temporizzata con un'azione di risposta dello stato. Quando l'iniziatore riceve un'azione di risposta di stato che non segnala errori, invia un'azione di richiesta di scrittura.
Azione di richiesta di scrittura
Uguale all'azione di richiesta di scrittura descritta in precedenza.
Scrivi azione risposta
Uguale all'azione Scrivi risposta descritta in precedenza.
Limitazioni di scrittura a tempo
Le azioni di richiesta a tempo, le azioni di richiesta di scrittura e le azioni di risposta di scrittura sono solo unicast.