forked from boostorg/beast
Remove opcode from read, async_read (API Change):
fix #446 * Read signatures no longer include `opcode` * stream::got_binary and stream::got_text inform the caller if the current incoming message is binary or text. Actions Required: * Remove the `opcode` reference parameter from calls to synchronous and asynchronous read functions, replace the logic with calls to stream::got_binary and stream::got_text instead.
This commit is contained in:
1 parent
3d6574da81
commit
620ce08d6a
13 files changed
+142
-145
No files matched your search
@@ -1001,16 +1001,13 @@ class stream<NextLayer>::read_op
|
||||
{
|
||||
bool cont;
|
||||
stream<NextLayer>& ws;
|
||||
opcode& op;
|
||||
DynamicBuffer& db;
|
||||
frame_info fi;
|
||||
int state = 0;
|
||||
|
||||
data(Handler& handler,
|
||||
stream<NextLayer>& ws_, opcode& op_,
|
||||
data(Handler& handler, stream<NextLayer>& ws_,
|
||||
DynamicBuffer& sb_)
|
||||
: ws(ws_)
|
||||
, op(op_)
|
||||
, db(sb_)
|
||||
{
|
||||
using boost::asio::asio_handler_is_continuation;
|
||||
@@ -1091,7 +1088,6 @@ operator()(error_code const& ec, bool again)
|
||||
|
||||
// got payload
|
||||
case 1:
|
||||
d.op = d.fi.op;
|
||||
if(d.fi.fin)
|
||||
goto upcall;
|
||||
d.state = 0;
|
||||
@@ -1107,8 +1103,7 @@ template<class DynamicBuffer, class ReadHandler>
|
||||
async_return_type<
|
||||
ReadHandler, void(error_code)>
|
||||
stream<NextLayer>::
|
||||
async_read(opcode& op,
|
||||
DynamicBuffer& buffer, ReadHandler&& handler)
|
||||
async_read(DynamicBuffer& buffer, ReadHandler&& handler)
|
||||
{
|
||||
static_assert(is_async_stream<next_layer_type>::value,
|
||||
"AsyncStream requirements requirements not met");
|
||||
@@ -1117,8 +1112,8 @@ async_read(opcode& op,
|
||||
async_completion<ReadHandler,
|
||||
void(error_code)> init{handler};
|
||||
read_op<DynamicBuffer, handler_type<
|
||||
ReadHandler, void(error_code)>>{init.completion_handler,
|
||||
*this, op, buffer};
|
||||
ReadHandler, void(error_code)>>{
|
||||
init.completion_handler, *this, buffer};
|
||||
return init.result.get();
|
||||
}
|
||||
|
||||
@@ -1126,14 +1121,14 @@ template<class NextLayer>
|
||||
template<class DynamicBuffer>
|
||||
void
|
||||
stream<NextLayer>::
|
||||
read(opcode& op, DynamicBuffer& buffer)
|
||||
read(DynamicBuffer& buffer)
|
||||
{
|
||||
static_assert(is_sync_stream<next_layer_type>::value,
|
||||
"SyncStream requirements not met");
|
||||
static_assert(beast::is_dynamic_buffer<DynamicBuffer>::value,
|
||||
"DynamicBuffer requirements not met");
|
||||
error_code ec;
|
||||
read(op, buffer, ec);
|
||||
read(buffer, ec);
|
||||
if(ec)
|
||||
BOOST_THROW_EXCEPTION(system_error{ec});
|
||||
}
|
||||
@@ -1142,7 +1137,7 @@ template<class NextLayer>
|
||||
template<class DynamicBuffer>
|
||||
void
|
||||
stream<NextLayer>::
|
||||
read(opcode& op, DynamicBuffer& buffer, error_code& ec)
|
||||
read(DynamicBuffer& buffer, error_code& ec)
|
||||
{
|
||||
static_assert(is_sync_stream<next_layer_type>::value,
|
||||
"SyncStream requirements not met");
|
||||
@@ -1154,7 +1149,6 @@ read(opcode& op, DynamicBuffer& buffer, error_code& ec)
|
||||
read_frame(fi, buffer, ec);
|
||||
if(ec)
|
||||
break;
|
||||
op = fi.op;
|
||||
if(fi.fin)
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user