bug fix -- need to enqueue before sending the packet, in case the response comes back and another thread tries to give it to us, all before we are enqueued.