5#include <srs/data/message.pb.h>
34 const auto& proto_header =
proto.header();
36 auto& header = struct_data.
header;
38 header.fec_id =
static_cast<uint8_t
>(proto_header.fec_id());
39 header.udp_timestamp = proto_header.udp_timestamp();
40 header.overflow = proto_header.overflow();
45 const auto& proto_marker_data =
proto.marker_data();
46 struct_data.
marker_data.reserve(
static_cast<uint64_t
>(proto_marker_data.size()));
48 for (
const auto& proto_marker : proto_marker_data)
50 auto& marker_data = struct_data.
marker_data.emplace_back();
51 marker_data.srs_timestamp = proto_marker.srs_timestamp();
52 marker_data.vmm_id =
static_cast<uint8_t
>(proto_marker.vmm_id());
58 const auto& proto_hit_data =
proto.hit_data();
59 struct_data.
hit_data.reserve(
static_cast<uint64_t
>(proto_hit_data.size()));
61 for (
const auto& proto_hit : proto_hit_data)
63 auto& hit_data = struct_data.
hit_data.emplace_back();
65 hit_data.is_over_threshold = proto_hit.is_over_threshold();
66 hit_data.channel_num =
static_cast<uint8_t
>(proto_hit.channel_num());
67 hit_data.tdc =
static_cast<uint8_t
>(proto_hit.tdc());
68 hit_data.offset =
static_cast<uint8_t
>(proto_hit.offset());
69 hit_data.vmm_id =
static_cast<uint8_t
>(proto_hit.vmm_id());
70 hit_data.adc =
static_cast<uint8_t
>(proto_hit.adc());
71 hit_data.bc_id =
static_cast<uint16_t
>(proto_hit.bc_id());
static void set_hit_data(const proto::Data &proto, StructData &struct_data)
static void convert(const proto::Data &proto, StructData &struct_data)
static void set_header(const proto::Data &proto, StructData &struct_data)
Proto2StructConverter()=default
static void set_marker_data(const proto::Data &proto, StructData &struct_data)
auto convert(const proto::Data &proto) -> const StructData &
void reset_struct_data(StructData &struct_data)
ReceiveDataHeader header
Header data.
std::vector< MarkerData > marker_data
Marker data.
std::vector< HitData > hit_data
Hit data.