From 3405e3c5acf2a4f1b78a06848ccf6938d780ad19 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 25 Feb 2020 15:30:43 -0800 Subject: [PATCH] client CMD_DESTROY_CHANNEL --- src/client.cpp | 11 +++++++++++ src/clientconn.cpp | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/client.cpp b/src/client.cpp index bd9cd9d..2538905 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -52,6 +52,17 @@ Channel::~Channel() context->chanByCID.erase(cid); context->chanByName.erase(name); // searchBuckets cleaned in tickSearch() + if(state==Creating || state==Active) { + { + (void)evbuffer_drain(conn->txBody.get(), evbuffer_get_length(conn->txBody.get())); + + EvOutBuf R(hostBE, conn->txBody.get()); + + to_wire(R, sid); + to_wire(R, cid); + } + conn->enqueueTxBody(CMD_DESTROY_CHANNEL); + } } void Channel::createOperations() diff --git a/src/clientconn.cpp b/src/clientconn.cpp index b118f6a..701e0c4 100644 --- a/src/clientconn.cpp +++ b/src/clientconn.cpp @@ -84,7 +84,7 @@ void Connection::sendDestroyRequest(uint32_t sid, uint32_t ioid) to_wire(R, sid); to_wire(R, ioid); } - enqueueTxBody(CMD_DESTROY_CHANNEL); + enqueueTxBody(CMD_DESTROY_REQUEST); }