mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 19:15:54 +00:00
6d5547a Set version to 1.0.0-b34 6fab138 Fix and tidy up CMake build scripts: ccefa54 Set version to 1.0.0-b33 32afe41 Set internal state correctly when writing frames: fe3e20b Add write_frames unit test 578dcd0 Add decorator unit test aaa3733 Use fwrite return value in file_body df66165 Require Visual Studio 2015 Update 3 or later b8e5a21 Set version to 1.0.0-b32 ffb1758 Update CMake scripts for finding packages: b893749 Remove http Writer suspend and resume feature (API Change): 27864fb Add io_service completion invariants tests eba05a7 Set version to 1.0.0-b31 484bcef Fix badge markdown in README.md 5663bea Add missing dynabuf_readstream member 0d7a551 Tidy up build settings 0fd4030 Move the handler, don't copy it git-subtree-dir: src/beast git-subtree-split: 6d5547a32c50ec95832c4779311502555ab0ee1f
70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
[/
|
|
Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
]
|
|
|
|
[section:Reader Reader requirements]
|
|
|
|
Parsers provided by the implementation will construct the corresponding
|
|
`reader` object during parsing. This customization point allows the
|
|
Body to determine the strategy for storing incoming message body data.
|
|
|
|
In this table:
|
|
|
|
* `X` denotes a type meeting the requirements of [*`Reader`].
|
|
|
|
* `a` denotes a value of type `X`.
|
|
|
|
* `n` is a value convertible to `std::size_t`.
|
|
|
|
* `p` is a `void const*` to valid memory of at least `n` bytes.
|
|
|
|
* `ec` is a value of type [link beast.ref.error_code `error_code&`].
|
|
|
|
* `m` denotes a value of type `message&` where
|
|
`std::is_same<decltype(m.body), Body::value_type>::value == true`.
|
|
|
|
[table Reader requirements
|
|
[[operation] [type] [semantics, pre/post-conditions]]
|
|
[
|
|
[`X a(m);`]
|
|
[]
|
|
[
|
|
`a` is constructible from `m`. The lifetime of `m` is guaranteed
|
|
to end no earlier than after `a` is destroyed. The constructor
|
|
will be called after all headers have been stored in `m`, and
|
|
before any body data is deserialized. This function must be
|
|
`noexcept`.
|
|
]
|
|
]
|
|
[
|
|
[`a.init(ec)`]
|
|
[`void`]
|
|
[
|
|
Called immediately after construction. If the function sets
|
|
an error code in `ec`, the parse is aborted and the error is
|
|
propagated to the caller. This function must be `noexcept`.
|
|
]
|
|
]
|
|
[
|
|
[`a.write(p, n, ec)`]
|
|
[`void`]
|
|
[
|
|
Deserializes the input sequence into the body. If `ec` is set,
|
|
the deserialization is aborted and the error is propagated to
|
|
the caller. If the message headers specify a chunked transfer
|
|
encoding, the reader will receive the decoded version of the
|
|
body. This function must be `noexcept`.
|
|
]
|
|
]
|
|
]
|
|
|
|
[note
|
|
Definitions for required `Reader` member functions should be declared
|
|
inline so the generated code can become part of the implementation.
|
|
]
|
|
|
|
[endsect]
|