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