support out-of-order sending by muliple core