Gọi các giao dịch

Invoke Transaction (Gọi giao dịch) được dùng để gọi một hoặc nhiều Lệnh cụm trên một Nút đích. Nó tương tự như các lời gọi thủ tục từ xa được thực hiện tới một lệnh được định nghĩa trong Cluster.

Tương tự như Giao dịch ghi, Giao dịch gọi hỗ trợ Giao dịch có thời gian và Giao dịch không có thời gian. Vui lòng tham khảo phần Hành động có thời gian và không có thời gian để biết thêm thông tin về Giao dịch có thời gian.

Giao dịch gọi không có thời gian

Trình tự hoạt động của một Giao dịch gọi không định thời gian
Hình 1: Lệnh gọi giao dịch không có thời gian

Gọi thao tác theo yêu cầu

Hướng: Trình khởi tạo -> Mục tiêu

Tương tự như Thao tác yêu cầu đọc và Thao tác yêu cầu ghi, trong Thao tác này, Trình khởi tạo cung cấp cho Mục tiêu:

  • Yêu cầu gọi: danh sách đường dẫn đến Lệnh cụm, cũng như các đối số không bắt buộc cho các lệnh, có tên là Trường lệnh.
  • Yêu cầu theo thời gian: cờ cho biết liệu hành động này có phải là một phần của Giao dịch gọi theo thời gian hay không.
  • Ngăn chặn phản hồi: cờ cho biết liệu Hành động gọi phản hồi có nên bị ngăn chặn hay không.
  • Mã tương tác: một số nguyên dùng để so khớp Thao tác yêu cầu gọi với Thao tác phản hồi gọi.

Gọi thao tác phản hồi

Hướng: Mục tiêu -> Người khởi tạo

Sau khi Mục tiêu nhận được Hành động yêu cầu gọi, nó sẽ hoàn tất giao dịch bằng Hành động phản hồi gọi bao gồm:

  • Invoke Responses (Phản hồi lệnh gọi): danh sách phản hồi lệnh hoặc trạng thái cho mọi yêu cầu gọi đã gửi.
  • Mã tương tác: một số nguyên dùng để so khớp Thao tác phản hồi lệnh gọi với Thao tác yêu cầu lệnh gọi.

Giới hạn Gọi không giới hạn thời gian

Thao tác Invoke Request Action có thể là một groupcast, nhưng trong trường hợp này, bạn phải đặt cờ Suppress Response (Ngăn chặn phản hồi). Lý do là nếu không thì mạng có thể bị quá tải bởi các phản hồi đồng thời từ mọi thành viên trong nhóm.

Để bật hành vi này, Đường dẫn được dùng trong danh sách Lời gọi yêu cầu có thể chứa Nhóm và có thể chứa ký tự đại diện, nhưng chỉ trên trường Điểm cuối. Ngoài ra, nếu Thao tác là groupcast, giao dịch này sẽ kết thúc mà không có phản hồi.

Giao dịch gọi theo thời gian

Tương tự như Giao dịch ghi có thời gian, Giao dịch gọi có thời gian cũng bắt đầu bằng Thao tác yêu cầu có thời gian.

Trình tự các hoạt động của Giao dịch Gọi theo Thời gian
Hình 2: Giao dịch gọi theo thời gian

Hành động yêu cầu theo thời gian

Hướng: Trình khởi tạo -> Mục tiêu

Bên khởi tạo bắt đầu Giao dịch bằng cách gửi Thao tác này chứa:

  • Hết thời gian chờ: thời gian bao nhiêu mili giây mà giao dịch này có thể vẫn mở. Trong khoảng thời gian này, hành động tiếp theo do Người khởi tạo gửi sẽ được coi là hợp lệ.

Sau khi nhận được Timed Request Action, Target phải xác nhận Timed Request Action bằng Status Response Action. Khi Người khởi tạo nhận được Hành động phản hồi trạng thái báo cáo không có lỗi, nó sẽ gửi Hành động yêu cầu gọi.

Gọi hành động yêu cầu

Giống như Hành động yêu cầu gọi đã mô tả trước đó.

Gọi thao tác phản hồi

Giống như Hành động phản hồi gọi đã mô tả trước đó.

Giới hạn gọi theo thời gian

Bạn có thể gọi tất cả các lệnh gọi trên một Tương tác có thời gian. Hành động yêu cầu theo thời gian, Hành động yêu cầu gọi và Hành động phản hồi gọi chỉ dành cho Unicast và do đó không thể được sử dụng làm groupcast trên Giao dịch gọi theo thời gian.

Thao tác Gọi yêu cầu hỗ trợ việc sử dụng các đường dẫn có Nhóm, cũng như ký tự đại diện, nhưng Thao tác Gọi phản hồi không hỗ trợ việc sử dụng ký tự đại diện.