#include <msp/strings/format.h>
#include <msp/strings/lexicalcast.h>
#include "protocol.h"
+#include "protocol_impl.h"
using namespace std;
{
PacketDefBase *&ptr = packet_class_defs[pdef->get_class_id()];
if(ptr)
+ {
+ packet_id_defs.erase(ptr->get_id());
delete ptr;
+ }
ptr = pdef;
- packet_id_defs[pdef->get_id()] = pdef;
+ if(unsigned id = pdef->get_id())
+ packet_id_defs[id] = pdef;
}
const Protocol::PacketDefBase &Protocol::get_packet_by_class_id(unsigned id) const