udp.Table was assigned after the readLoop started, so packets could arrive and be processed before the Table was there.