59 header_ver_ = header_ver;
74 total_frames_ = total_frames;
79 frame_size_ = frame_size;
84 frame_pos_ = frame_pos;
94 time_stamp_ = time_stamp;
105 template <
typename T,
size_t S>
106 char *SerializeBasicType(
const T *value,
char *buf,
size_t size) {
107 if (!buf || size < S) {
111 memcpy(res, value, S);
117 template <
typename T,
size_t S>
118 bool DiserializeBasicType(T *value,
const char *buf) {
123 memcpy(temp, buf, S);
124 *value = *(
reinterpret_cast<T *
>(temp));
128 char *SerializeHeaderFlag(
char *buf,
size_t size);
129 char *SerializeHeaderSize(
char *buf,
size_t size);
132 HeaderItem<Header_Ver, uint32_t> header_ver_;
133 HeaderItem<Msg_Name, std::string> msg_name_;
134 HeaderItem<Msg_ID, uint32_t> msg_id_;
135 HeaderItem<Msg_Size, bsize> msg_size_;
136 HeaderItem<Msg_Frames, uint32_t> total_frames_;
137 HeaderItem<Frame_Size, bsize> frame_size_;
138 HeaderItem<Frame_Pos, bsize> frame_pos_;
139 HeaderItem<Frame_Index, uint32_t> index_;
140 HeaderItem<Time_Stamp, double> time_stamp_;
141 hsize header_body_size_ = 0;
143 &header_ver_, &msg_name_, &msg_id_, &msg_size_, &total_frames_,
144 &frame_size_, &frame_pos_, &index_, &time_stamp_,