pure virtual class packet.h