Some packet types weren't being generated or handled, connections weren't properly disposed of when exceptions occurred.