9.2. 送信されたメッセージの追跡

メッセージを送信すると、送信側は転送を表す tracker オブジェクトへの参照を維持することができます。受信側は、配信される各メッセージを受け入れまたは拒否します。追跡された各配信の結果の送信者に通知されます。

送信されたメッセージの結果を監視するには、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";
}