Chapter 1270. 결과 수신과 상태 관리 (Result Reception and State Management) Chapter 1270. 결과 수신과 상태 관리 (Result Reception and State Management) 1270.1결과(Result)의 개념과 역할 1270.2결과와 피드백의 차이점 1270.3결과 메시지의 구조적 설계 1270.4Result 메시지 타입 정의 1270.5결과 필드 설계 원칙 1270.6성공 결과와 실패 결과의 구분 1270.7결과 데이터에 포함할 정보의 범위 1270.8서버 측 결과 생성과 반환 1270.9succeed() 호출을 통한 성공 결과 반환 1270.10결과 메시지 필드 설정 1270.11succeed() 호출 시 내부 상태 전이 1270.12canceled() 호출을 통한 취소 결과 반환 1270.13취소 결과 메시지 구성 1270.14canceled() 호출 시 내부 상태 전이 1270.15abort() 호출을 통한 중단 결과 반환 1270.16중단 결과 메시지와 오류 정보 포함 1270.17abort() 호출 시 내부 상태 전이 1270.18결과 반환 시점의 결정 1270.19즉시 반환 패턴 1270.20조건부 반환 패턴 1270.21정리(Cleanup) 후 반환 패턴 1270.22결과 반환 후 서버 측 동작 1270.23GoalHandle의 비활성화 1270.24결과 캐싱 메커니즘 1270.25결과 캐시의 유효 기간 1270.26클라이언트 측 결과 수신 메커니즘 1270.27result_callback을 통한 비동기 결과 수신 1270.28result_callback 구현 상세 1270.29WrappedResult 구조체 분석 1270.30WrappedResult::code 필드: ResultCode 1270.31ResultCode::SUCCEEDED의 의미 1270.32ResultCode::CANCELED의 의미 1270.33ResultCode::ABORTED의 의미 1270.34ResultCode::UNKNOWN의 의미 1270.35WrappedResult::result 필드: Result 데이터 1270.36WrappedResult::goal_id 필드: 목표 식별 1270.37async_get_result()를 통한 결과 폴링 1270.38GetResult 서비스의 내부 동작 1270.39결과 대기와 타임아웃 처리 1270.40SharedFuture를 활용한 결과 대기 1270.41wait_for()를 활용한 비블로킹 결과 확인 1270.42결과 대기 중 타임아웃 처리 전략 1270.43결과 기반 후속 작업 결정 1270.44성공 시 후속 작업 트리거 1270.45실패 시 재시도 로직 1270.46취소 시 대안 작업 실행 1270.47중단 시 복구 절차 1270.48목표 상태 관리의 전체 개요 1270.49GoalStatus 상태 코드 체계 1270.50STATUS_UNKNOWN 상태의 정의 1270.51STATUS_ACCEPTED 상태의 정의 1270.52STATUS_EXECUTING 상태의 정의 1270.53STATUS_CANCELING 상태의 정의 1270.54STATUS_SUCCEEDED 상태의 정의 1270.55STATUS_CANCELED 상태의 정의 1270.56STATUS_ABORTED 상태의 정의 1270.57상태 전이 규칙과 유효 경로 1270.58ACCEPTED에서 EXECUTING으로의 전이 1270.59EXECUTING에서 SUCCEEDED로의 전이 1270.60EXECUTING에서 ABORTED로의 전이 1270.61EXECUTING에서 CANCELING으로의 전이 1270.62CANCELING에서 CANCELED로의 전이 1270.63CANCELING에서 ABORTED로의 전이 1270.64비유효 상태 전이의 감지와 처리 1270.65GoalStatusArray 토픽의 역할 1270.66GoalStatusArray 메시지 구조 1270.67GoalStatusArray 발행 주기 1270.68GoalStatusArray의 QoS 설정 1270.69서버 측 상태 관리 구현 1270.70GoalHandle을 통한 상태 조회 1270.71is_active() 메서드의 동작 1270.72is_executing() 메서드의 동작 1270.73is_canceling() 메서드의 동작 1270.74상태 전이의 원자적 처리 1270.75다중 목표의 상태 독립성 1270.76클라이언트 측 상태 모니터링 1270.77ClientGoalHandle::get_status() 활용 1270.78상태 변경 감지 패턴 1270.79상태 기반 사용자 인터페이스 업데이트 1270.80상태 기반 로봇 동작 제어 1270.81다중 목표의 상태 관리 1270.82활성 목표 목록 관리 1270.83목표별 상태 추적 데이터 구조 1270.84완료된 목표의 이력 관리 1270.85목표 상태 통계 수집 1270.86결과와 상태 관리의 오류 처리 1270.87서버 비정상 종료 시 결과 손실 1270.88네트워크 분할 시 상태 불일치 1270.89결과 수신 타임아웃 처리 1270.90GetResult 서비스 호출 실패 처리 1270.91결과와 상태의 지속성(Persistence) 1270.92결과 로깅과 이력 저장 1270.93파일 기반 결과 저장 1270.94데이터베이스 기반 결과 저장 1270.95결과와 상태 관리의 성능 분석 1270.96결과 반환 지연 시간 측정 1270.97상태 발행 오버헤드 분석 1270.98대규모 동시 목표의 상태 관리 성능 1270.99네비게이션 결과와 상태 관리 예제 1270.100NavigateToPose 결과 처리 구현 1270.101네비게이션 상태 모니터링 구현 1270.102매니퓰레이션 결과와 상태 관리 예제 1270.103PickAndPlace 결과 처리 구현 1270.104드론 비행 결과와 상태 관리 예제 1270.105비행 임무 결과 처리 구현 1270.106비행 상태 모니터링 구현 1270.107결과와 상태 관리의 단위 테스트 1270.108성공 결과 수신 테스트 1270.109취소 결과 수신 테스트 1270.110중단 결과 수신 테스트 1270.111상태 전이 순서 검증 테스트 1270.112결과 수신과 상태 관리 모범 사례 요약