本文整理汇总了C++中MessageBuffer::size方法的典型用法代码示例。如果您正苦于以下问题:C++ MessageBuffer::size方法的具体用法?C++ MessageBuffer::size怎么用?C++ MessageBuffer::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MessageBuffer
的用法示例。
在下文中一共展示了MessageBuffer::size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: compute_info
// Called when the metadata object is about to be written
// FIll the fields on the metadata
virtual void compute_info(const MessageBuffer& buffer)
{
ProcessingStep& p = *_processing_step;
p.set_name("root2a4");
p.set_walltime((chrono::steady_clock::now() - _start_wallclock).count());
p.set_cputime((chrono::thread_clock::now() - _start_cpuclock).count());
p.set_input_events(_input_events);
p.set_input_bytes_read(_input_bytes_read);
_metadata.set_event_count(buffer.size());
if (buffer.size() >= 1) {
if (_field_run) {
auto run_number = _refl->GetUInt32(*buffer[0], _field_run);
_metadata.add_run(run_number);
auto* full_period = get_period(run_number);
std::string period = full_period;
if (period != "UNK") {
period = period[0];
}
_metadata.add_period(period);
_metadata.add_subperiod(full_period);
}
if (_field_mc_channel && _refl->HasField(*buffer[0], _field_mc_channel))
_metadata.add_mc_channel(_refl->GetUInt32(*buffer[0], _field_mc_channel));
}
}
示例2: write_metadata
void write_metadata(shared<a4::io::OutputStream> stream,
const MessageBuffer& buffer)
{
compute_info(buffer);
// Only write metadata if there is at least one message to be written
// (A4 doesn't deal well with the case of metadata for 0 events yet)
if (buffer.size() >= 1) {
stream->metadata(_metadata);
}
reset_counters();
}