From 5b40a9ad91a86f18aada72c352ce8c26702c5209 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 6 Apr 2017 17:46:26 -0700 Subject: [PATCH] ircd: Assurances the full-transfer socket methods do just that. --- include/ircd/socket.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/ircd/socket.h b/include/ircd/socket.h index 2918da137..5aa776bca 100644 --- a/include/ircd/socket.h +++ b/include/ircd/socket.h @@ -206,7 +206,9 @@ size_t write(socket &socket, const iov &bufs) { - return socket.write(bufs); + const auto wrote(socket.write(bufs)); + assert(wrote == size(bufs)); + return wrote; } inline @@ -234,7 +236,7 @@ socket::write(const iov &bufs) { return io(*this, out, [&] { - return async_write(ssl, bufs, yield(continuation())); + return async_write(ssl, bufs, asio::transfer_all(), yield(continuation())); }); } @@ -245,7 +247,7 @@ socket::write(const iov &bufs, { return io(*this, out, [&] { - return async_write(ssl, bufs, yield(continuation())[ec]); + return async_write(ssl, bufs, asio::transfer_all(), yield(continuation())[ec]); }); }