9 std::copy(buf, buf + SIZE, buffer.get());
14 std::tie(h_size, p_size, num) =
read_header(stream);
16 auto data_size = p_size - h_size;
21 remainder = buf_len - p_size;
30 for (
size_t i = 0; i < buf_len - 4; i++)
32 if (((
unsigned char)buf[i]) == 0x5c && ((
unsigned char)buf[i + 1]) == 0xa2 &&
33 ((
unsigned char)buf[i + 2]) == p_type[0] && ((
unsigned char)buf[i + 3]) == p_type[1])
virtual std::tuple< uint16_t, uint32_t, uint16_t > read_header(ros::serialization::IStream &stream)=0
bool parse_buf(uint8_t *buf, size_t buf_len, size_t &remainder, size_t &p_size)
virtual size_t get_size()=0
virtual void read_data(uint8_t *buf, size_t num)=0
int find_packet_start(uint8_t *buf, size_t buf_len)
virtual void get_type(char *p_type)=0