Documentation work

This commit is contained in:
Vinnie Falco
2017-06-14 07:48:48 -07:00
parent 2eeedb8a41
commit 8fa756aee6
3 changed files with 22 additions and 27 deletions

View File

@@ -10,14 +10,13 @@
Asynchronous operations are started by calling a free function or member Asynchronous operations are started by calling a free function or member
function known as an ['asynchronous initiation function]. The initiation function known as an ['asynchronous initiation function]. The initiation
function accepts parameters specific to the operation as well as a "completion function accepts parameters specific to the operation as well as a "completion
token." This token is either a completion handler, or another type allowing for token." This token is either a completion handler, or a type defining how
customization of how the result of the asynchronous operation is conveyed to the caller is informed of the asynchronous operation result. __Asio__ comes
callers. __Asio__ allows the special completion tokens __use_future__ and with the special completion tokens __use_future__ and __yield_context__ for
objects of type __yield_context__ to allow callers to specify the use of futures using futures and coroutines respectively. This system of customizing the
and coroutines respectively. This system, where the return value and method of return value and method of completion notification is known as the
indicating completion may be customized at the call site of the asynchronous ['Extensible Asynchronous Model] described in __N3747__, and a built in
initiation function, is known as the ['Extensible Asynchronous Model] described to __N4588__.
in __N3747__, and built-in to __N4588__.
[note [note
A full explanation of completion handlers, the Extensible Asynchronous A full explanation of completion handlers, the Extensible Asynchronous

View File

@@ -17,7 +17,7 @@ In this table:
* `X` denotes a type that meets the requirements of [*Fields]. * `X` denotes a type that meets the requirements of [*Fields].
* `R` denotes a type meeting the requiremnets of __FieldsReader__. * `R` denotes a type meeting the requirements of __FieldsReader__.
* `a` denotes a value of type `X`. * `a` denotes a value of type `X`.

View File

@@ -28,19 +28,17 @@ namespace http {
/** A container for an HTTP request or response header. /** A container for an HTTP request or response header.
A header includes the Start Line and Fields. This container is derived from the `Fields` template type.
To understand all of the members of this class it is necessary
to view the declaration for the `Fields` type. When using
the default fields container, those declarations are in
@ref fields.
Some use-cases: A `header` includes the start-line and header-fields.
@li When the message has no body, such as a response to a HEAD request.
@li When the caller wishes to defer instantiation of the body.
@li Invoke algorithms which operate on the header only.
*/ */
#if BEAST_DOXYGEN #if BEAST_DOXYGEN
template<bool isRequest, class Fields = fields> template<bool isRequest, class Fields = fields>
struct header struct header : Fields
#else #else
template<bool isRequest, class Fields = fields> template<bool isRequest, class Fields = fields>
@@ -193,15 +191,7 @@ private:
/** A container for an HTTP request or response header. /** A container for an HTTP request or response header.
A header includes the Start Line and Fields. A `header` includes the start-line and header-fields.
Some use-cases:
@li When the message has no body, such as a response to a HEAD request.
@li When the caller wishes to defer instantiation of the body.
@li Invoke algorithms which operate on the header only.
*/ */
template<class Fields> template<class Fields>
struct header<false, Fields> : Fields struct header<false, Fields> : Fields
@@ -349,6 +339,12 @@ private:
/** A container for a complete HTTP message. /** A container for a complete HTTP message.
This container is derived from the `Fields` template type.
To understand all of the members of this class it is necessary
to view the declaration for the `Fields` type. When using
the default fields container, those declarations are in
@ref fields.
A message can be a request or response, depending on the A message can be a request or response, depending on the
`isRequest` template argument value. Requests and responses `isRequest` template argument value. Requests and responses
have different types; functions may be overloaded based on have different types; functions may be overloaded based on