Wywołaj transakcje

Wywołuj transakcje służą do wywoływania co najmniej 1 polecenia klastra w węźle docelowym. Jest to podobne do zdalnych wywołań procedur wykonywanych dla polecenia zdefiniowanego w klastrze.

W podobny sposób zapisywane w ramach transakcji wywołujące transakcje obsługują transakcje zaplanowane i nielimitowane. Więcej informacji o transakcjach czasowych znajdziesz w sekcji Działania ograniczone czasowo i nielimitowane.

Wywołanie transakcji bez limitu

Sekwencja operacji wywołania nieterminowo
Rysunek 1. Transakcja wywołana bez opóźnienia

Wywołaj działanie żądania

Kierunek: Inicjator -> Cel

Podobnie jak w przypadku działania związanego z odczytem i żądaniem zapisu, w tym działaniu inicjator udostępnia element docelowy:

  • Wywołaj żądania: lista ścieżek do poleceń klastra, a także opcjonalne argumenty do poleceń o nazwie Pola poleceń.
  • Żądanie ograniczone czasowo: flaga wskazująca, czy dane działanie jest częścią transakcji wywoływanej z opóźnieniem czasowym.
  • Suppress Response: flaga wskazująca, czy działanie wywołania odpowiedzi powinno zostać pominięte.
  • Identyfikator interakcji: liczba całkowita służąca do dopasowywania działania wywołania żądania do działania wywołania odpowiedzi.

Wywołaj działanie odpowiedzi

Kierunek: Cel -> Inicjator

Gdy cel otrzyma działanie wywoływania żądania, finalizuje transakcję za pomocą działania Wywołaj działanie, które:

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

Ograniczenia wywoływania bez limitu

Akcja żądania wywołania może być Groupcast, ale w tym przypadku musi być ustawiona flaga Ukryj odpowiedź. W przeciwnym razie sieć mogłaby być zapełniona równoczesnymi odpowiedziami wszystkich członków grupy.

Aby umożliwić takie zachowanie, ścieżka używana na liście wywołań żądań może zawierać grupy lub symbole wieloznaczne, ale tylko w polu Endpoint. Co więcej, jeśli Akcja to groupcast, transakcja kończy się bez odpowiedzi.

Transakcje wywoływane z czasem

Podobnie jak w przypadku transakcji z chwilą zapisu, transakcje wywołane przez czas również zaczynają się od działania zaplanowanego żądania.

Sekwencja operacji wywoływania z opóźnieniem
Rysunek 2. Transakcja wywołana z opóźnieniem

Działanie żądania zaplanowanego

Kierunek: Inicjator -> Cel

Inicjator rozpoczyna transakcję, wysyłając to działanie, które zawiera:

  • Czas oczekiwania: czas (w milisekundach), przez jaki transakcja może pozostać otwarta. W tym czasie kolejne działanie wysłane przez Inicjatora będzie uznawane za prawidłowe.

Po otrzymaniu żądania zaplanowanego działania obiekt docelowy musi potwierdzić działanie zaplanowanego żądania wraz z działaniem reagowania na stan. Gdy inicjator otrzyma odpowiedź na żądanie stanu, która nie zgłasza żadnych błędów, wysyła żądanie wywołania żądania.

Wywołaj działanie żądania

To samo co wcześniej opisane Wywołaj działanie żądania.

Wywołaj działanie odpowiedzi

Takie same jak w przypadku opisanej wcześniej opcji Invoke Response Action (Wywołaj działanie odpowiedzi).

Ograniczenia wywołań czasowych

Wszystkie polecenia wywoływania mogą być wywoływane podczas interakcji zaplanowanej. Działanie Timed Request, Invoke Request Action i Invoke Response Action są dostępne tylko w polu Unicast i dlatego nie można ich używać jako Groupcast w transakcjach wywoływanych z czasem.

Akcja wywołania żądania obsługuje używanie ścieżek z grupami oraz symboli wieloznacznych, ale działanie wywołania odpowiedzi nie obsługuje użycia symboli wieloznacznych.