Reward 관찰 — Observe · Publish · Stop

Observer가 관찰 room에 join하고, Game Room의 reward publish가 observer push로 전달된 뒤 관찰을 종료한다

Reward 관찰 — Observe · Publish · Stop Observer가 관찰 room에 join하고, Game Room의 reward publish가 observer push로 전달된 뒤 관찰을 종료한다 ObserveBingoEventsReq Relay through binding Join observed RoomId Subscribed ObserveBingoEventsRes ObserveBingoEventsRes BingoRewardAcquiredEvent (publish) BingoRewardAnnouncedNotify BingoRewardAnnouncedNotify BingoRewardAnnouncedNotify StopObservingBingoEventsReq Relay through binding Leave StopObservingBingoEventsRes StopObservingBingoEventsRes Observer · Sequence participant Observer Session · Sequence participant Session Observer Actor · Sequence participant Observer Actor Observer Room · Sequence participant Observer Room Game Room · Sequence participant Game Room

참여자 원문 라벨과 publish 경로

  • • 참여자 원문 라벨 — Observer: Observer Client · Observer Actor: Play / Observer Actor · Observer Room: Play / Observer Room · Game Room: Play / Game Room.
  • • Game room은 종료 결과를 먼저 확정하고 player push를 제출한 뒤 `bingo.room.reward` topic에 BingoRewardAcquiredEvent를 publish한다. 각 Play node의 관찰용 local BingoRoom이 같은 topic을 구독하고, Event의 RoomId가 자신의 ObservedRoomId와 일치하는 room만 observer Actor에게 typed message를 보내 bound session으로 notify한다.

관찰 경계와 완료 의미

  • • 관찰 room은 player membership·card·timer·winner 판정에 참여하지 않는다. Reward 수신만을 위한 별도 Spot type도 만들지 않는다.
  • • Publish의 정상 완료는 source runtime이 작업을 시작했다는 뜻이며 subscriber handler 실행이나 target별 수락을 보장하지 않는다. Client는 publish 반환값이 아니라 BingoRewardAnnouncedNotify payload로 전달 결과를 확인한다.