| 382 | } |
| 383 | |
| 384 | void on_session_close(proton::session &session) override { |
| 385 | // Unsubscribe all senders that belong to session. |
| 386 | for (proton::sender_iterator i = session.senders().begin(); i != session.senders().end(); ++i) { |
| 387 | Sender* s = Sender::get(*i); |
| 388 | if (s && s->queue_) { |
| 389 | auto q = s->queue_; |
| 390 | s->queue_->add([=]{q->unsubscribe(s);}); |
| 391 | } |
| 392 | } |
| 393 | } |
| 394 | |
| 395 | void on_error(const proton::error_condition& e) override { |
| 396 | std::cout << "protocol error: " << e.what() << std::endl; |