flags for better profiling
eliminate malloc on receive by overestimating packed size on stack