Remove BodyReader::is_deferred (API Change):

The is_deferred nested type is removed from the BodyReader
requirements.

Performance for sending messages with `file_body` was cut
almost in half with is_deferred as `std::true_type` since
it caused double the number of socket writes. If the
deferred behavior is absolutely necessary, callers can get
the same effect by manually sending the headers first.

Actions Required:

* Callers who need the behavior of is_deferred as `std::true_type`
  should manually construct a serializer and serialize the header
  first, followed by the body.
This commit is contained in:
Vinnie Falco
2017-07-20 08:15:29 -07:00
parent bf59634bc2
commit edeb44617b
12 changed files with 24 additions and 86 deletions
-8
View File
@@ -48,14 +48,6 @@ struct Body_BodyReader {
struct BodyReader
{
public:
/** Controls when the implementation requests buffers.
If false, the implementation will request the first buffer
immediately and try to serialize both the header and some
or all of the body in a single buffer.
*/
using is_deferred = std::false_type;
/// The type of buffer returned by `get`.
using const_buffers_type = boost::asio::const_buffers_1;