Richiama transazioni

Le transazioni di chiamata 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.

Analogamente alla Scrittura delle Transazioni, Richiama Transazioni supporta le Transazioni a tempo e Non temporizzate. Per ulteriori informazioni sulle transazioni temporizzate, fai riferimento alla sezione Azioni a tempo e non tempo.

Richiama transazione non programmata

Sequenza di operazioni di una transazione di chiamata non programmata
Figura 1: chiamata di chiamata non programmata

Richiama azione di richiesta

Direzione: Iniziatore -> Target

In modo simile alle azioni di richiesta di lettura e di richiesta di scrittura, in questa azione l'iniziatore fornisce al target:

  • Richiama richieste: un elenco di percorsi ai comandi del cluster, oltre a argomenti facoltativi ai comandi, denominati Campi comando.
  • Richiesta a tempo: un flag che indica se l'azione fa parte di una transazione con chiamata a tempo.
  • Elimina risposta: un flag che indica se l'azione Richiama risposta deve essere soppressa.
  • ID interazione: un numero intero utilizzato per associare l'azione Richiama richiesta all'azione Richiama risposta.

Richiama azione di risposta

Direzione: Target -> Iniziatore

Dopo che il target riceve l'azione di richiesta Richiama, finalizza la transazione con un'azione di richiesta di risposta che prevede:

  • Richiama risposte: un elenco di risposte ai comandi o dello stato di ogni richiesta di chiamata inviata.
  • ID interazione: un numero intero utilizzato per abbinare l'azione Richiama risposta all'azione Richiama richiesta.

Limitazioni per le chiamate senza tempo

L'azione Richiama richiesta può essere un groupcast, ma in questo caso è necessario impostare il flag Ignora 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 Richiama richieste può contenere gruppi e, in alternativa, può contenere caratteri jolly, ma solo nel campo Endpoint. Inoltre, se l'azione è groupcast, questa transazione si termina senza risposta.

Transazioni di chiamata a tempo

Analogamente alle transazioni con scrittura a tempo, anche le transazioni con chiamata a tempo iniziano con l'azione di richiesta con timestamp.

Sequenza di operazioni di una transazione di chiamata a tempo
Figura 2: transazione della chiamata a tempo

Azione richiesta con timestamp

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 chiamata.

Richiama azione di richiesta

Come per l'opzione Richiama azione di richiesta descritta in precedenza.

Richiama azione di risposta

Come per l'azione Richiama risposta descritta in precedenza.

Limitazioni per le chiamate a tempo

Tutti i comandi callout possono essere richiamati in un'interazione a tempo. L'azione di richiesta con timestamp, l'azione di richiesta di richiesta e l'azione di richiesta di risposta 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.