本文整理汇总了C++中proton::event::receiver方法的典型用法代码示例。如果您正苦于以下问题:C++ event::receiver方法的具体用法?C++ event::receiver怎么用?C++ event::receiver使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类proton::event
的用法示例。
在下文中一共展示了event::receiver方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: 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();
}
}
示例2: 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();
}
}
示例3: log
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 );
}
}
}