Le transazioni di richiamo vengono utilizzate per richiamare uno o più comandi cluster su un nodo di destinazione. È simile alle chiamate di procedure remote effettuate a un comando definito nel cluster.
In modo simile alle transazioni di scrittura, le transazioni di chiamata supportano transazioni temporizzate e non temporizzate. Per ulteriori informazioni sulle transazioni temporizzate, fare riferimento alla sezione Azioni temporizzate e non temporizzate.
Untimed Invoke Transaction
Richiama azione richiesta
Direzione: iniziatore -> target
Simile all'azione di richiesta di lettura e all'azione di richiesta di scrittura, in questa azione l'iniziatore fornisce al target:
- Richieste di invocazione: un elenco di percorsi ai comandi del cluster, nonché argomenti facoltativi per i comandi, denominati Campi comando.
- Richiesta temporizzata: un flag che indica se questa azione fa parte di una transazione di chiamata temporizzata.
- Sopprimi risposta: un flag che indica se l'azione Invoke Response deve essere soppressa.
- ID interazione: un numero intero utilizzato per la corrispondenza tra l'azione di richiesta di chiamata e l'azione di risposta di chiamata.
Richiama azione di risposta
Direzione: Target -> Initiator
Dopo aver ricevuto l'azione di richiesta di chiamata, la destinazione finalizzerà la transazione con un'azione di risposta di chiamata che include:
- Invoca risposte: un elenco di risposte ai comandi o di stato per ogni richiesta di invocazione inviata.
- ID interazione: un numero intero utilizzato per abbinare l'azione di risposta di chiamata all'azione di richiesta di chiamata.
Restrizioni di invocazione senza tempo
L'azione Richiesta di chiamata può essere un groupcast, ma in questo caso deve essere impostato il flag Elimina risposta. La logica è che altrimenti la rete potrebbe essere inondata da risposte simultanee da parte di tutti i membri di un gruppo.
Per abilitare questo comportamento, il percorso utilizzato nell'elenco Richieste di richiamo può contenere Gruppi e in alternativa possono contenere caratteri jolly, ma solo nel campo Endpoint. Inoltre, se l'azione è groupcast, questa transazione termina senza risposta.
Transazioni di chiamata temporizzate
Analogamente alle transazioni di scrittura temporizzate, anche le transazioni di chiamata temporizzate iniziano con l'azione di richiesta temporizzata.
Azione richiesta a tempo
Direzione: Iniziatore -> Bersaglio
Un Iniziatore avvia la Transazione inviando questa Azione che contiene:
- Timeout: per quanti millisecondi questa transazione può rimanere aperta. Durante questo periodo, la successiva azione inviata dall'iniziatore verrà considerata valida.
Una volta ricevuta l'azione di richiesta temporizzata, la destinazione deve confermarla con un'azione di risposta di stato. Una volta che l'iniziatore riceve un'azione di risposta di stato che non segnala errori, invia un'azione di richiesta di chiamata.
Richiama azione richiesta
Come l'azione di richiesta di chiamata descritta in precedenza.
Richiama azione di risposta
Come l'azione di risposta di chiamata descritta in precedenza.
Limitazioni di chiamata temporizzate
Tutti i comandi di chiamata possono essere chiamati in un'interazione a tempo. L'azione Richiesta a tempo, l'azione Richiesta di chiamata e l'azione Risposta di chiamata sono solo Unicast e pertanto non possono essere utilizzate come groupcast nelle transazioni di chiamata a tempo.
L'azione Richiama richiesta supporta l'utilizzo di percorsi con gruppi e caratteri jolly, ma l'azione Richiama risposta non supporta l'utilizzo di caratteri jolly.