c++ - qpid 质子 on_sendable 只被调用一次

标签 c++ qpid

我正在使用 C++ 实现 Qpid 质子客户端。

Qpid 版本为 0.12.2。

我运行默认容器:

proton::container(myHandler).run();

MyHandler 是这样的:

void MyHandler::on_start(proton::event& e) {
proton::connection conn = e.container().connect(url);
_senderEvent            = conn.open_sender(EVENT_RECEPTION);
}

void MyHandler::on_message(proton::event &e) {
}

void MyHandler::on_link_open(proton::event &e) {
    std::cout << "LINK OPEN " << std::endl;
}

void MyHandler::on_connection_open(proton::event &e) {
}

void MyHandler::on_sendable(proton::event &e) {
    std::cout << "on sendable! " << std::endl;
}

一切正常!它连接、创建发件人等。

但是,on_sendable 只被调用了一次!虽然我没有关闭它,但它永远不会返回调用 on_sendable

可能是什么原因?

谢谢。

最佳答案

您可能已经自己找到了这个问题的答案,但据我了解,在您打开发件人之后以及每次通过质子发送消息后,都会调用 on_sendable。如果您从不发送消息,那么 on_sendable 将只被调用一次。

关于c++ - qpid 质子 on_sendable 只被调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39961005/

相关文章:

C++/QT - 通过 QByteArray 将数据转换为不同的格式不同于读入结构

c++ - 基类初始化器和成员变量初始化器的顺序重要吗?

azure - Proton 与 azure iot hub amqp 端点的连接

go - 使用 QPid 和 golang 包装器 Electron 连接到 AMQP 1.0 Azure EventHub

python - Azure EventHub,无法订阅接收

c++ - 抽象类不直接映射,有什么优雅的解决方案吗?

c++ - 使用 auto 作为参数是否有负面影响?

支持pop oldest inserted和max的C++数据结构

java - 使用 Java 的 Qpid 异步消息传递

c - 关于qpid交换,队列