use uint64_t to represent the priority instead of int32_t