forked from boostorg/beast
Refactor read_op + fail_op
This commit is contained in:
@@ -251,7 +251,7 @@ close(close_reason const& cr, error_code& ec)
|
||||
rd_close_ = true;
|
||||
auto const mb = buffer_prefix(
|
||||
clamp(rd_.fh.len),
|
||||
rd_.buf.mutable_data());
|
||||
rd_.buf.data());
|
||||
if(rd_.fh.len > 0 && rd_.fh.mask)
|
||||
detail::mask_inplace(mb, rd_.key);
|
||||
detail::read_close(cr_, mb, code);
|
||||
|
||||
@@ -202,10 +202,7 @@ operator()(error_code ec, std::size_t)
|
||||
upcall:
|
||||
BOOST_ASSERT(d.ws.wr_block_ == d.tok);
|
||||
d.ws.wr_block_.reset();
|
||||
d.ws.close_op_.maybe_invoke() ||
|
||||
d.ws.ping_op_.maybe_invoke() ||
|
||||
d.ws.wr_op_.maybe_invoke();
|
||||
d_.invoke(ec, 0);
|
||||
d_.invoke(ec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -177,11 +177,13 @@ open(role_type role)
|
||||
rd_.cont = false;
|
||||
rd_.done = true;
|
||||
// Can't clear this because accept uses it
|
||||
//rd_.buf.consume(rd_.buf.size());
|
||||
//rd_.buf.reset();
|
||||
rd_.fh.fin = false;
|
||||
rd_close_ = false;
|
||||
wr_close_ = false;
|
||||
wr_block_.reset();
|
||||
rd_block_.reset();
|
||||
cr_.code = close_code::none;
|
||||
ping_data_ = nullptr; // should be nullptr on close anyway
|
||||
|
||||
wr_.cont = false;
|
||||
@@ -240,6 +242,8 @@ reset()
|
||||
wr_close_ = false;
|
||||
wr_.cont = false;
|
||||
wr_block_.reset();
|
||||
rd_block_.reset();
|
||||
cr_.code = close_code::none;
|
||||
ping_data_ = nullptr; // should be nullptr on close anyway
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user