Add close_socket, beast_close_socket customization:

This algorithm allows a socket-like object to be closed in
a generic context. The customization point enables user-defined
types to define the close algorithm to use with `close_socket`.
This commit is contained in:
Vinnie Falco
2019-02-01 14:05:07 -08:00
parent 6a658b5c3a
commit 49deee4a69
15 changed files with 361 additions and 62 deletions
+23 -14
View File
@@ -60,6 +60,15 @@ facilities for authoring and working with layered streams:
read and write streams, and additionally implements configurable buffering
for reads.
]]
[[
[link beast.ref.boost__beast__close_socket `close_socket`]
][
This function closes a socket by performing an unqualified call
to the
[link beast.ref.boost__beast__beast_close_socket `beast_close_socket`]
customization point, allowing sockets to be closed in generic
contexts in an extensible fashion.
]]
[[
[link beast.ref.boost__beast__flat_stream `flat_stream`]
][
@@ -67,20 +76,6 @@ facilities for authoring and working with layered streams:
a limitation of `net::ssl::stream`. It is used in the implementation
of [link beast.ref.boost__beast__ssl_stream `ssl_stream`].
]]
[[
[link beast.ref.boost__beast__http__icy_stream `http::icy_stream`]
][
An ICY stream transparently converts the non-standard "ICY 200 OK"
HTTP response from Shoutcast servers into a conforming 200 level
HTTP response.
]]
[[
[link beast.ref.boost__beast__ssl_stream `ssl_stream`]
][
The SSL stream is a drop-in replacement for `net::ssl::stream` which
allows for move-construction and move-assignment, and also implements
a work-around for a performance limitation in the original SSL stream.
]]
[[
[link beast.ref.boost__beast__get_lowest_layer `get_lowest_layer`]
][
@@ -92,6 +87,13 @@ facilities for authoring and working with layered streams:
[code_core_3_layers_4]
]]
[[
[link beast.ref.boost__beast__http__icy_stream `http::icy_stream`]
][
An ICY stream transparently converts the non-standard "ICY 200 OK"
HTTP response from Shoutcast servers into a conforming 200 level
HTTP response.
]]
[[
[link beast.ref.boost__beast__lowest_layer_type `lowest_layer_type`]
][
@@ -100,6 +102,13 @@ facilities for authoring and working with layered streams:
of reference returned by
[link beast.ref.boost__beast__get_lowest_layer `get_lowest_layer`]
]]
[[
[link beast.ref.boost__beast__ssl_stream `ssl_stream`]
][
The SSL stream is a drop-in replacement for `net::ssl::stream` which
allows for move-construction and move-assignment, and also implements
a work-around for a performance limitation in the original SSL stream.
]]
]
[heading Example]
+1
View File
@@ -225,6 +225,7 @@
<simplelist type="vert" columns="1">
<member><link linkend="beast.ref.boost__beast__allocate_stable">allocate_stable</link></member>
<member><link linkend="beast.ref.boost__beast__async_connect">async_connect</link></member>
<member><link linkend="beast.ref.boost__beast__beast_close_socket">beast_close_socket</link></member>
<member><link linkend="beast.ref.boost__beast__bind_back_handler">bind_back_handler</link></member>
<member><link linkend="beast.ref.boost__beast__bind_front_handler">bind_front_handler</link></member>
<member><link linkend="beast.ref.boost__beast__bind_handler">bind_handler</link></member>