void NetworkInterfaceASIO::_recvMessageHeader(AsyncOp* op) { asio::async_read(op->connection()->sock(), asio::buffer(reinterpret_cast<char*>(op->header()), sizeof(MSGHEADER::Value)), [this, op](asio::error_code ec, size_t bytes) { _validateAndRun(op, ec, [this, op]() { _recvMessageBody(op); }); }); }
void NetworkInterfaceASIO::_recvMessageHeader(AsyncOp* op) { asio::async_read(op->connection()->sock(), asio::buffer(reinterpret_cast<char*>(op->header()), sizeof(MSGHEADER::Value)), [this, op](asio::error_code ec, size_t bytes) { if (op->canceled()) { return _completeOperation(op, kCanceledStatus); } if (ec) { LOG(3) << "error receiving header"; return _networkErrorCallback(op, ec); } _recvMessageBody(op); }); }