Avoid explicit operator bool for error

This commit is contained in:
Vinnie Falco
2017-06-19 16:58:23 -07:00
parent 4d393f4c2a
commit 72ce21927c
4 changed files with 25 additions and 24 deletions

View File

@@ -6,6 +6,7 @@ Version 62:
* Doc fixes and tidy * Doc fixes and tidy
* Tidy up namespaces in examples * Tidy up namespaces in examples
* Clear the error faster * Clear the error faster
* Avoid explicit operator bool for error
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@@ -243,7 +243,7 @@ close(close_reason const& cr, error_code& ec)
detail::frame_streambuf fb; detail::frame_streambuf fb;
write_close<static_buffer>(fb, cr); write_close<static_buffer>(fb, cr);
boost::asio::write(stream_, fb.data(), ec); boost::asio::write(stream_, fb.data(), ec);
failed_ = ec != 0; failed_ = !!ec;
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@@ -295,7 +295,7 @@ operator()(error_code ec,
detail::mask_inplace(in, d.key); detail::mask_inplace(in, d.key);
auto const prev = d.db.size(); auto const prev = d.db.size();
detail::inflate(d.ws.pmd_->zi, d.db, in, ec); detail::inflate(d.ws.pmd_->zi, d.db, in, ec);
d.ws.failed_ = ec != 0; d.ws.failed_ = !!ec;
if(d.ws.failed_) if(d.ws.failed_)
break; break;
if(d.remain == 0 && d.fh.fin) if(d.remain == 0 && d.fh.fin)
@@ -305,7 +305,7 @@ operator()(error_code ec,
0x00, 0x00, 0xff, 0xff }; 0x00, 0x00, 0xff, 0xff };
detail::inflate(d.ws.pmd_->zi, d.db, detail::inflate(d.ws.pmd_->zi, d.db,
buffer(&empty_block[0], 4), ec); buffer(&empty_block[0], 4), ec);
d.ws.failed_ = ec != 0; d.ws.failed_ = !!ec;
if(d.ws.failed_) if(d.ws.failed_)
break; break;
} }
@@ -742,7 +742,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
{ {
fb.commit(boost::asio::read( fb.commit(boost::asio::read(
stream_, fb.prepare(2), ec)); stream_, fb.prepare(2), ec));
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
{ {
@@ -753,14 +753,14 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
{ {
fb.commit(boost::asio::read( fb.commit(boost::asio::read(
stream_, fb.prepare(n), ec)); stream_, fb.prepare(n), ec));
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
} }
} }
read_fh2(fh, fb, code); read_fh2(fh, fb, code);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
if(code != close_code::none) if(code != close_code::none)
@@ -774,7 +774,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
auto const mb = fb.prepare( auto const mb = fb.prepare(
static_cast<std::size_t>(fh.len)); static_cast<std::size_t>(fh.len));
fb.commit(boost::asio::read(stream_, mb, ec)); fb.commit(boost::asio::read(stream_, mb, ec));
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
if(fh.mask) if(fh.mask)
@@ -796,7 +796,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
write_ping<static_buffer>(fb, write_ping<static_buffer>(fb,
detail::opcode::pong, payload); detail::opcode::pong, payload);
boost::asio::write(stream_, fb.data(), ec); boost::asio::write(stream_, fb.data(), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
continue; continue;
@@ -824,7 +824,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
wr_close_ = true; wr_close_ = true;
write_close<static_buffer>(fb, cr); write_close<static_buffer>(fb, cr);
boost::asio::write(stream_, fb.data(), ec); boost::asio::write(stream_, fb.data(), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
} }
@@ -859,7 +859,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
dynabuf.prepare(clamp(remain)); dynabuf.prepare(clamp(remain));
auto const bytes_transferred = auto const bytes_transferred =
stream_.read_some(b, ec); stream_.read_some(b, ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
BOOST_ASSERT(bytes_transferred > 0); BOOST_ASSERT(bytes_transferred > 0);
@@ -891,7 +891,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
auto const bytes_transferred = auto const bytes_transferred =
stream_.read_some(buffer(rd_.buf.get(), stream_.read_some(buffer(rd_.buf.get(),
clamp(remain, rd_.buf_size)), ec); clamp(remain, rd_.buf_size)), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
remain -= bytes_transferred; remain -= bytes_transferred;
@@ -901,7 +901,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
detail::mask_inplace(in, key); detail::mask_inplace(in, key);
auto const prev = dynabuf.size(); auto const prev = dynabuf.size();
detail::inflate(pmd_->zi, dynabuf, in, ec); detail::inflate(pmd_->zi, dynabuf, in, ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
if(remain == 0 && fh.fin) if(remain == 0 && fh.fin)
@@ -911,7 +911,7 @@ read_frame(DynamicBuffer& dynabuf, error_code& ec)
0x00, 0x00, 0xff, 0xff }; 0x00, 0x00, 0xff, 0xff };
detail::inflate(pmd_->zi, dynabuf, detail::inflate(pmd_->zi, dynabuf,
buffer(&empty_block[0], 4), ec); buffer(&empty_block[0], 4), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
} }
@@ -951,7 +951,7 @@ do_close:
detail::frame_streambuf fb; detail::frame_streambuf fb;
write_close<static_buffer>(fb, code); write_close<static_buffer>(fb, code);
boost::asio::write(stream_, fb.data(), ec); boost::asio::write(stream_, fb.data(), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
} }
@@ -962,7 +962,7 @@ do_close:
// http://stackoverflow.com/questions/25587403/boost-asio-ssl-async-shutdown-always-finishes-with-an-error // http://stackoverflow.com/questions/25587403/boost-asio-ssl-async-shutdown-always-finishes-with-an-error
ec.assign(0, ec.category()); ec.assign(0, ec.category());
} }
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
ec = error::failed; ec = error::failed;
@@ -980,7 +980,7 @@ do_close:
} }
if(! ec) if(! ec)
ec = error::closed; ec = error::closed;
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return false; return false;
return true; return true;

View File

@@ -416,7 +416,7 @@ operator()(error_code ec,
d.ws.wr_.buf_size); d.ws.wr_.buf_size);
auto const more = detail::deflate( auto const more = detail::deflate(
d.ws.pmd_->zo, b, d.cb, d.fin, ec); d.ws.pmd_->zo, b, d.cb, d.fin, ec);
d.ws.failed_ = ec != 0; d.ws.failed_ = !!ec;
if(d.ws.failed_) if(d.ws.failed_)
goto upcall; goto upcall;
auto const n = buffer_size(b); auto const n = buffer_size(b);
@@ -626,7 +626,7 @@ write_frame(bool fin,
wr_.buf.get(), wr_.buf_size); wr_.buf.get(), wr_.buf_size);
auto const more = detail::deflate( auto const more = detail::deflate(
pmd_->zo, b, cb, fin, ec); pmd_->zo, b, cb, fin, ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
auto const n = buffer_size(b); auto const n = buffer_size(b);
@@ -654,7 +654,7 @@ write_frame(bool fin,
wr_.cont = ! fin; wr_.cont = ! fin;
boost::asio::write(stream_, boost::asio::write(stream_,
buffer_cat(fh_buf.data(), b), ec); buffer_cat(fh_buf.data(), b), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
if(! more) if(! more)
@@ -682,7 +682,7 @@ write_frame(bool fin,
wr_.cont = ! fin; wr_.cont = ! fin;
boost::asio::write(stream_, boost::asio::write(stream_,
buffer_cat(fh_buf.data(), buffers), ec); buffer_cat(fh_buf.data(), buffers), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
} }
@@ -704,7 +704,7 @@ write_frame(bool fin,
boost::asio::write(stream_, boost::asio::write(stream_,
buffer_cat(fh_buf.data(), buffer_cat(fh_buf.data(),
buffer_prefix(n, cb)), ec); buffer_prefix(n, cb)), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
if(remain == 0) if(remain == 0)
@@ -737,7 +737,7 @@ write_frame(bool fin,
wr_.cont = ! fin; wr_.cont = ! fin;
boost::asio::write(stream_, boost::asio::write(stream_,
buffer_cat(fh_buf.data(), b), ec); buffer_cat(fh_buf.data(), b), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
} }
@@ -750,7 +750,7 @@ write_frame(bool fin,
remain -= n; remain -= n;
detail::mask_inplace(b, key); detail::mask_inplace(b, key);
boost::asio::write(stream_, b, ec); boost::asio::write(stream_, b, ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
} }
@@ -778,7 +778,7 @@ write_frame(bool fin,
detail::write<static_buffer>(fh_buf, fh); detail::write<static_buffer>(fh_buf, fh);
boost::asio::write(stream_, boost::asio::write(stream_,
buffer_cat(fh_buf.data(), b), ec); buffer_cat(fh_buf.data(), b), ec);
failed_ = ec != 0; failed_ = !!ec;
if(failed_) if(failed_)
return; return;
if(remain == 0) if(remain == 0)