Wywołaj transakcje

Transakcje wywołania służą do wywoływania co najmniej 1 polecenia klastra na węźle docelowym. Działa ono podobnie do wywołań procedur zdalnych do poleceń zdefiniowanych w klastrze.

Podobnie jak w przypadku transakcji zapisu, transakcje wywołania obsługują transakcje o zdefiniowanym czasie i bez zdefiniowanego czasu. Więcej informacji o transakcjach z ograniczonym czasem znajdziesz w sekcji Czynności z ograniczonym czasem i bez ograniczonego czasu.

Niewywołana transakcja

Sekwencja operacji w ramach niezsynchronizowanej transakcji wywołania
Rysunek 1. Nieograniczona operacja wywołania

Wywołanie działania związanego z prośbą

Kierunek: inicjator -> docelowe

Podobnie jak w przypadku działań żądanie odczytu i żądanie zapisu w ramach tego działania inicjator przekazuje docelowi:

  • Wywołania żądań: lista ścieżek do poleceń klastra oraz opcjonalnych argumentów poleceń z nazwami Pola poleceń.
  • Żądanie o opóźnionym działaniu: flaga wskazująca, czy to działanie jest częścią wywołania transakcji o opóźnionym działaniu.
  • Suppress Response: flaga wskazująca, czy działanie wywołania odpowiedzi powinno zostać pominięte.
  • Identyfikator interakcji: liczba całkowita używana do dopasowywania działania wywołania żądania do działania wywołania odpowiedzi.

Wywołanie działania odpowiedzi

Kierunek: docelowe > inicjator

Gdy cel otrzyma działanie wywołania żądania, zakończy transakcję działaniem wywołania odpowiedzi, które zawiera:

  • Odpowiedzi na wywołanie: lista odpowiedzi na polecenia lub stan każdego wysłanego wywołania.
  • Identyfikator interakcji: liczba całkowita używana do dopasowywania działania wywołania odpowiedzi do działania wywołania żądania.

Ograniczenia wywołania bez limitu czasowego

Działanie wywołania może być działaniem grupowym, ale w tym przypadku musi być ustawiona flaga Tłumienie odpowiedzi. Wynika to z tego, że sieć mogłaby zostać zalana przez jednoczesne odpowiedzi od wszystkich członków grupy.

Aby umożliwić to działanie, ścieżka użyta na liście wywołań może zawierać grupy lub symbole wieloznaczne, ale tylko w polu punkt końcowy. Co więcej, jeśli działanie jest wysyłane w ramach transmisji grupowej, transakcja kończy się bez odpowiedzi.

Transakcje wywołania opóźnionego

Podobnie jak w przypadku transakcji zapisu z opóźnieniem, transakcje wywołania z opóźnieniem również rozpoczynają się od działania żądania z opóźnieniem.

Sekwencja operacji wywołania opóźnionego
Rysunek 2. Czasowa wywołująca transakcja

Działanie po upływie czasu

Kierunek: inicjator -> docelowe

Inicjator uruchamia transakcję, wysyłając tę akcję, która zawiera:

  • Limit czasu: czas w milisekundach, przez który transakcja może pozostać otwarta. W tym czasie następne działanie wysłane przez inicjatora będzie uważane za prawidłowe.

Po otrzymaniu działania związanego z żądaniem o czasie cel musi potwierdzić działanie związane z żądaniem o czasie za pomocą działania związanego z odpowiedzią na stan. Gdy inicjator otrzyma odpowiedź z akcja odpowiedzi stanu, która nie zawiera błędów, wyśle działanie wywołania żądania.

Wywołanie działania związanego z prośbą

To samo co opisane wcześniej wywołanie działania związanego z żądaniem.

Wywołanie działania odpowiedzi

To samo co w przypadku opisanego wcześniej wywołania działania odpowiedzi.

Ograniczenia wywołania z opóźnieniem

Wszystkie polecenia wywołania mogą być wywoływane w ramach interakcji z opóźnieniem. Działanie żądania o czasie, działanie wywołania żądania i działanie wywołania odpowiedzi są dostępne tylko w wersji Unicast, dlatego nie można ich używać jako transmisji grupowej w przypadku transakcji wywołania o czasie.

Akcja wywołania żądania obsługuje ścieżki z grupami oraz symbole wieloznaczne, ale akcja wywołania odpowiedzi nie obsługuje symboli wieloznacznych.