272 {
273 data->reserve(data->size() + sizeof(uint8_t) + sizeof(uint32_t) +
274 channel.size() + sizeof(uint32_t) + msg.size());
275
277
278 data->push_back(uint8_t(channel.size() >> 0));
279 data->push_back(uint8_t(channel.size() >> 8));
280 data->push_back(uint8_t(channel.size() >> 16));
281 data->push_back(uint8_t(channel.size() >> 24));
282 const uint8_t* channel_data =
283 reinterpret_cast<const uint8_t*>(channel.data());
284 data->insert(data->end(), channel_data, channel_data + channel.size());
285
286 data->push_back(uint8_t(msg.size() >> 0));
287 data->push_back(uint8_t(msg.size() >> 8));
288 data->push_back(uint8_t(msg.size() >> 16));
289 data->push_back(uint8_t(msg.size() >> 24));
290 const uint8_t* msg_data = reinterpret_cast<const uint8_t*>(msg.data());
291 data->insert(data->end(), msg_data, msg_data + msg.size());
292}