구독한 엔터티의 이벤트 반복 실행 - AWS SimSpace Weaver

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

구독한 엔터티의 이벤트 반복 실행

AllSubscriptionEvents()를 사용하여 구독한 엔터티(앱 구독 영역에 있는 엔터티)에 대한 이벤트 목록을 가져옵니다. 함수의 서명은 다음과 같습니다.

Result<SubscriptionChangeList> AllSubscriptionEvents(Transaction& txn)

그런 후 다음 예제와 같이 루프를 사용하여 엔터티를 반복합니다.

WEAVERRUNTIME_TRY(Api::SubscriptionChangeList subscriptionChangeList, Api::AllSubscriptionEvents(transaction)); for (const Api::SubscriptionEvent& event : subscriptionChangeList.changes) { Api::Entity entity = event.entity; Api::ChangeListAction action = event.action; switch (action) { case Api::ChangeListAction::None: // insert code to handle the event break; case Api::ChangeListAction::Remove: // insert code to handle the event break; case Api::ChangeListAction::Add: // insert code to handle the event break; case Api::ChangeListAction::Update: // insert code to handle the event break; case Api::ChangeListAction::Reject: // insert code to handle the event break; } }
이벤트 유형
  • None - 엔터티가 해당 영역에 있고 위치 및 필드 데이터가 수정되지 않았습니다.

  • Remove - 엔터티가 영역에서 제거되었습니다.

  • Add - 엔터티가 영역에 추가되었습니다.

  • Update - 엔터티가 해당 영역에 있으며 수정되었습니다.

  • Reject - 앱이 해당 영역에서 엔터티를 제거하지 못했습니다.

참고

Reject 이벤트가 발생한 경우 앱은 다음 틱에서 전송을 다시 시도합니다.