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 określonym czasie: flaga wskazująca, czy to działanie jest częścią wywołania transakcji o określonym czasie.
  • 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 docelowe urządzenie 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ć transmisją grupową, 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 wywołania z opóźnieniem.

Sekwencja operacji w ramach wywołania opóźnionego
Rysunek 2. Czasowa wywołana transakcja

Działanie po upływie czasu

Kierunek: inicjator > docelowe

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

  • Limit czasu: czas (w milisekundach), przez jaki transakcja może pozostać otwarta. W tym czasie następne działanie wysłane przez inicjatora zostanie uznane 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 działaniem dotyczącą stanu, w której nie ma 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 żądania.

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 „Wywołaj żądanie”, „Wywołaj prośbę” i „Wywołaj odpowiedź” są dostępne tylko w przypadku 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.