Fix the assertion failure when exception raised by sending ReconnectOk
or ServerIdent at REPLACING state.
Failed assertion:
ceph/src/seastar/include/seastar/core/future.hh:284: void
seastar::future_state_base::set_exception(std::__exception_ptr::exception_ptr&&):
Assertion `_u.st == state::future' failed.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
reset_session(true);
}
protocol_timer.cancel();
- return std::move(execution_done);
+ return execution_done.get_future();
}).then([this,
reconnect,
new_socket = std::move(new_socket),
uint64_t peer_global_seq = 0;
uint64_t connect_seq = 0;
- seastar::future<> execution_done = seastar::now();
+ seastar::shared_future<> execution_done = seastar::now();
class Timer {
double last_dur_ = 0.0;