9.2. 보낸 메시지 추적
메시지가 전송되면 발신자는 전송을 나타내는 추적기 에 대한 참조를 유지할 수 있습니다. 수신자는 전달되는 각 메시지를 수락하거나 거부합니다. 발신자는 추적된 각 전달에 대한 결과에 대한 알림을 받습니다.
전송된 메시지의 결과를 모니터링하려면 on_tracker_accept 및 on_tracker_reject 이벤트 처리기를 재정의하고 전달 상태 업데이트를 send() 에서 반환된 추적기에 매핑합니다.
예: 추적이 보낸 메시지
void on_sendable(proton::sender& snd) override {
proton::message msg {"job-1"};
proton::tracker trk = snd.send(msg);
}
void on_tracker_accept(proton::tracker& trk) override {
std::cout << "Delivery for " << trk << " is accepted\n";
}
void on_tracker_reject(proton::tracker& trk) override {
std::cout << "Delivery for " << trk << " is rejected\n";
}
트래커 오브젝트에는 각 전달에 대한 고유 식별자에 액세스하기 위한 tag() 메서드가 있습니다. delivery 태그는 연결 실패 후 재전송하기 위해 진행 중 메시지를 저장하는 데 사용할 수 있습니다.