• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ proton::event类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中proton::event的典型用法代码示例。如果您正苦于以下问题:C++ event类的具体用法?C++ event怎么用?C++ event使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了event类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: on_accepted

 void on_accepted(proton::event &e) {
     confirmed_++;
     e.delivery().settle();
     if (confirmed_ == total_) {
         std::cout << "all messages confirmed" << std::endl;
         if (!replying_)
             e.connection().close();
     }
 }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:9,代码来源:reactor_send.cpp


示例2: on_message

 void on_message(proton::event &e) {
     if (requests.empty()) return; // Spurious extra message!
     proton::message& response = e.message();
     std::cout << requests.front() << " => " << response.body() << std::endl;
     requests.erase(requests.begin());
     if (!requests.empty()) {
         send_request();
     } else {
         e.connection().close();
     }
 }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:11,代码来源:client.cpp


示例3: on_message

 void on_message(proton::event &e) {
     std::cout << "Received " << e.message().body() << std::endl;
     std::string reply_to = e.message().reply_to();
     proton::message reply;
     reply.address(reply_to);
     reply.body(to_upper(e.message().body().get<std::string>()));
     reply.correlation_id(e.message().correlation_id());
     if (!senders[reply_to])
         senders[reply_to] = e.connection().open_sender(reply_to);
     senders[reply_to].send(reply);
 }
开发者ID:Barba-studio,项目名称:qpid-proton,代码行数:11,代码来源:server.cpp


示例4: on_message

 void on_message(proton::event &e) {
     proton::message &msg = e.message();
     msg.body().decode() >> received_content_;
     received_bytes_ += received_content_.size();
     if (received_ < total_) {
         received_++;
     }
     e.delivery().settle();
     if (received_ == total_) {
         e.receiver().close();
         e.connection().close();
     }
 }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:13,代码来源:reactor_send.cpp


示例5: on_connection_open

 void on_connection_open(proton::event &e) {
     std::cout << "Inbound server connection connected via SSL.  Protocol: " <<
         e.connection().transport().ssl().protocol() << std::endl;
     if (e.connection().transport().sasl().outcome() == sasl::OK) {
         std::string subject = e.connection().transport().ssl().remote_subject();
         std::cout << "Inbound client certificate identity " << find_CN(subject) << std::endl;
     }
     else {
         std::cout << "Inbound client authentication failed" <<std::endl;
         e.connection().close();
     }
     inbound_listener.close();
 }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:13,代码来源:ssl_client_cert.cpp


示例6: on_message

 void on_message(proton::event &e) {
     proton::message& msg = e.message();
     if (msg.id().get<uint64_t>() < received)
         return; // ignore duplicate
     if (expected == 0 || received < expected) {
         std::cout << msg.body() << std::endl;
         received++;
     }
     if (received == expected) {
         e.receiver().close();
         e.connection().close();
         if (!!acceptor) acceptor.close();
     }
 }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:14,代码来源:direct_recv.cpp


示例7: on_link_opening

 void on_link_opening(proton::event &e) {
     proton::link& lnk = e.link();
     if (lnk.is_sender()) {
         proton::sender &sender(lnk.sender());
         proton::terminus &remote_source(lnk.remote_source());
         if (remote_source.is_dynamic()) {
             std::string address = queue_name();
             lnk.source().address(address);
             queue *q = new queue(true);
             queues[address] = q;
             q->subscribe(sender);
             std::cout << "broker dynamic outgoing link from " << address << std::endl;
         }
         else {
             std::string address = remote_source.address();
             if (!address.empty()) {
                 lnk.source().address(address);
                 get_queue(address).subscribe(sender);
                 std::cout << "broker outgoing link from " << address << std::endl;
             }
         }
     }
     else {
         std::string address = lnk.remote_target().address();
         if (!address.empty())
             lnk.target().address(address);
         std::cout << "broker incoming link to " << address << std::endl;
     }
 }
开发者ID:Karm,项目名称:qpid-proton,代码行数:29,代码来源:broker.cpp


示例8: on_sendable

    void on_sendable(proton::event &e) {
        proton::link lnk = e.link();
        std::string address = lnk.local_source().address();
        proton::sender s = lnk.sender();

        queues_.get(address).dispatch(&s);
    }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:7,代码来源:broker.hpp


示例9: on_link_close

    void on_link_close(proton::event &e) {
        proton::link lnk = e.link();

        if (!!lnk.sender()) {
            unsubscribe(lnk.sender());
        }
    }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:7,代码来源:broker.hpp


示例10: on_delivery_accept

 void on_delivery_accept(proton::event &e) {
     confirmed++;
     if (confirmed == total) {
         std::cout << "all messages confirmed" << std::endl;
         e.connection().close();
         acceptor.close();
     }
 }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:8,代码来源:direct_send.cpp


示例11: on_message

    void 
    on_message ( proton::event &e ) 
    {
      log ( "on_message" );

      double receive_timestamp = get_timestamp();

      proton::message& msg = e.message();

      double send_timestamp = msg.body().get<double>();
      double latency = receive_timestamp - send_timestamp;

      fprintf ( output_fp, "latency %.6lf\n", latency );

      if ( ! received )
      {
        rr_init ( & resource_reporter );
      }

      if ( (expected == 0)
           || 
           (expected == -1)
           || 
           (received < expected)
         ) 
      {
        received++;
        if ( ! ( received % report_frequency ) )
        {
          report ( output_fp );
        }

        if (received == expected) 
        {
          log ( "closing receiver and connection." );
          e.receiver().close();
          e.connection().close();
          char filename[1000];
          sprintf ( filename, "/tmp/simple_recv_%d_is_done", getpid() );
          FILE * fp = fopen ( filename, "w" );
          fprintf ( fp, ":-)\n" );
          fclose ( fp );
        }
      }
    }
开发者ID:mick-goulish,项目名称:shackleton,代码行数:45,代码来源:simple_recv.cpp


示例12: on_sendable

 void on_sendable(proton::event &e) {
     proton::sender sender = e.sender();
     while (sender.credit() && sent < total) {
         proton::message msg;
         msg.id(sent + 1);
         std::map<std::string, int> m;
         m["sequence"] = sent+1;
         msg.body(m);
         sender.send(msg);
         sent++;
     }
 }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:12,代码来源:direct_send.cpp


示例13: on_sendable

    void on_sendable(proton::event &e) {
        proton::sender sender = e.sender();

        while (sender.credit() && sent_ < total_) {
            id_value_ = sent_ + 1;
            message_.correlation_id(id_value_);
            proton::amqp_timestamp reactor_now(reactor_.now());
            message_.creation_time(reactor_now);
            sender.send(message_);
            sent_++;
        }
    }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:12,代码来源:reactor_send.cpp


示例14: on_start

    void on_start(proton::event &e) {
        // Configure listener.  Details vary by platform.
        ssl_certificate server_cert = platform_certificate("tserver", "tserverpw");
        std::string client_CA = platform_CA("tclient");
        // Specify an SSL domain with CA's for client certificate verification.
        server_domain sdomain(server_cert, client_CA);
        connection_options server_opts;
        server_opts.server_domain(sdomain).handler(&s_handler);
        server_opts.allowed_mechs("EXTERNAL");
        e.container().server_connection_options(server_opts);

        // Configure client.
        ssl_certificate client_cert = platform_certificate("tclient", "tclientpw");
        std::string server_CA = platform_CA("tserver");
        client_domain cdomain(client_cert, server_CA);
        connection_options client_opts;
        client_opts.client_domain(cdomain).allowed_mechs("EXTERNAL");
        // Validate the server certificate against this name:
        client_opts.peer_hostname("test_server");
        e.container().client_connection_options(client_opts);

        s_handler.inbound_listener = e.container().listen(url);
        e.container().open_sender(url);
    }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:24,代码来源:ssl_client_cert.cpp


示例15: on_link_open

    void on_link_open(proton::event &e) {
        proton::link lnk = e.link();

        if (!!lnk.sender()) {
            proton::terminus remote_source(lnk.remote_source());
            queue &q = remote_source.dynamic() ?
                queues_.dynamic() : queues_.get(remote_source.address());
            lnk.local_source().address(q.name());

            q.subscribe(lnk.sender());
            std::cout << "broker outgoing link from " << q.name() << std::endl;
        } else {
            // Receiver
            std::string address = lnk.remote_target().address();
            if (!address.empty()) {
                lnk.local_target().address(address);
                std::cout << "broker incoming link to " << address << std::endl;
            }
        }
    }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:20,代码来源:broker.hpp


示例16: on_start

 void on_start(proton::event &e) {
     acceptor = e.container().listen(url);
     std::cout << "direct_recv listening on " << url << std::endl;
 }
开发者ID:marcelmeulemans,项目名称:qpid-proton-1,代码行数:4,代码来源:direct_recv.cpp


示例17: on_start

 void on_start(proton::event &e) {
     e.connection().open();
     e.connection().open_receiver(address_);
     e.connection().open_sender(address_);
 }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:5,代码来源:helloworld.cpp


示例18: on_message

 void on_message(proton::event &e) {
     std::cout << e.message().body() << std::endl;
     e.connection().close();
 }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:4,代码来源:helloworld.cpp


示例19: on_start

 void on_start(proton::event &e) {
     e.container().open_sender(url_);
     reactor_ = e.container().reactor();
 }
开发者ID:VMinute,项目名称:qpid-proton,代码行数:4,代码来源:reactor_send.cpp


示例20: on_unhandled

 void
 on_unhandled ( proton::event &e )
 {
   log ( "on_unhandled |%s| ", e.name().c_str() );
 }
开发者ID:mick-goulish,项目名称:shackleton,代码行数:5,代码来源:simple_recv.cpp



注:本文中的proton::event类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ proton::sender类代码示例发布时间:2022-05-31
下一篇:
C++ proportionaltimegeometry::Pointer类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap