client info cancel
This commit is contained in:
+1
-1
@@ -26,7 +26,7 @@ struct Channel;
|
||||
// internal actions on an Operation
|
||||
struct OperationBase : public Operation
|
||||
{
|
||||
const std::shared_ptr<Channel> chan;
|
||||
std::shared_ptr<Channel> chan;
|
||||
uint32_t ioid;
|
||||
|
||||
OperationBase(operation_t op, const std::shared_ptr<Channel>& chan);
|
||||
|
||||
@@ -36,11 +36,19 @@ struct InfoOp : public OperationBase
|
||||
cancel();
|
||||
}
|
||||
|
||||
virtual void cancel() override final {}
|
||||
virtual void cancel() override final {
|
||||
auto context = chan->context;
|
||||
context->tcp_loop.call([this](){
|
||||
state = Done;
|
||||
chan.reset();
|
||||
});
|
||||
}
|
||||
|
||||
virtual void createOp() override final
|
||||
{
|
||||
assert(state==Connecting);
|
||||
if(state!=Connecting) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto& conn = chan->conn;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user