76 static metadata extract_metadata(
const uint8_t *buffer, uint32_t total_sz);
87 UDP(uint16_t dport = 0, uint16_t sport = 0);
100 UDP(
const uint8_t* buffer, uint32_t total_sz);
107 return Endian::be_to_host(header_.dport);
115 return Endian::be_to_host(header_.sport);
123 return Endian::be_to_host(header_.len);
131 return Endian::be_to_host(header_.check);
138 void dport(uint16_t new_dport);
145 void sport(uint16_t new_sport);
151 void length(uint16_t new_len);
163 bool matches_response(
const uint8_t* ptr, uint32_t total_sz)
const;
171 uint32_t header_size()
const;
183 return new UDP(*
this);
194 void write_serialization(uint8_t* buffer, uint32_t total_sz);