+ bool has_packet() const { return packet_class_defs.count(get_packet_class_id<P>()); }
+
+ template<typename P>
+ unsigned get_packet_id() const { return get_item(packet_class_defs, get_packet_class_id<P>())->get_id(); }
+
+ unsigned get_max_packet_id() const;
+
+ template<typename P>
+ std::size_t serialize(const P &, char *, std::size_t, unsigned = 0) const;