Originally I hoped to use the versioning for some form of backward compatibility, but due to different versions of packets potentially resulting in different behavior, this could have unexpected consequences. This change results in us only reading and handling packets that we "understand" based on the current version, so if the primary packet handler receives an old or new packet then it will simply stop reading after the version and not invoke the registered handlers.
Originally I hoped to use the versioning for some form of backward compatibility, but due to different versions of packets potentially resulting in different behavior, this could have unexpected consequences. This change results in us only reading and handling packets that we "understand" based on the current version, so if the primary packet handler receives an old or new packet then it will simply stop reading after the version and not invoke the registered handlers.