forked from boostorg/beast
basic_stream subsumes stranded_stream:
* All functionality of stranded_stream is folded into basic_stream * tcp_stream is an alias for basic_stream with tcp * The tests are expanded to produce full coverage * Timeout implementation is simplified
This commit is contained in:
@@ -46,12 +46,15 @@ facilities for authoring and working with layered streams:
|
||||
[table Layered Stream Algorithms and Types
|
||||
[[Name][Description]]
|
||||
[[
|
||||
[link beast.ref.boost__beast__timeout_stream `timeout_stream`]
|
||||
[link beast.ref.boost__beast__basic_timeout_stream `basic_timeout_stream`]
|
||||
[link beast.ref.boost__beast__basic_stream `basic_stream`]
|
||||
[link beast.ref.boost__beast__tcp_stream `tcp_stream`]
|
||||
][
|
||||
A timeout stream meets the requirements for synchronous and asynchronous
|
||||
read and write streams, and additionally provides configurable timeouts
|
||||
for logical operations that include reading, writing, and/or connecting.
|
||||
This stream can be used for synchronous and asynchronous reading
|
||||
and writing. It allows timeouts to be set on logical operations,
|
||||
and can have an executor associated with the stream which is
|
||||
used to invoke completion handlers. This lets you set a strand
|
||||
on the stream once, which is then used for all asynchronous
|
||||
operations automatically.
|
||||
]]
|
||||
[[
|
||||
[link beast.ref.boost__beast__buffered_read_stream `buffered_read_stream`]
|
||||
@@ -109,16 +112,6 @@ facilities for authoring and working with layered streams:
|
||||
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__stranded_socket `stranded_socket`]
|
||||
][
|
||||
A timeout stream meets the requirements for synchronous and asynchronous
|
||||
read and write streams by passing I/O through to an underlying
|
||||
`net::basic_stream_socket`, and additionally supports
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html [P1322R0] "Networking TS enhancement to enable custom I/O executors"],
|
||||
allowing a custom executor (such a strand) to be used for all
|
||||
asynchronous operations.
|
||||
]]
|
||||
]
|
||||
|
||||
[heading Example]
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<bridgehead renderas="sect3">Classes <emphasis role="normal">(1 of 2)</emphasis></bridgehead>
|
||||
<simplelist type="vert" columns="1">
|
||||
<member><link linkend="beast.ref.boost__beast__async_op_base">async_op_base</link> <emphasis role="green">🞲</emphasis></member>
|
||||
<member><link linkend="beast.ref.boost__beast__basic_timeout_stream">basic_timeout_stream</link> <emphasis role="green">🞲</emphasis></member>
|
||||
<member><link linkend="beast.ref.boost__beast__basic_stream">basic_stream</link> <emphasis role="green">🞲</emphasis></member>
|
||||
<member><link linkend="beast.ref.boost__beast__file">file</link></member>
|
||||
<member><link linkend="beast.ref.boost__beast__file_mode">file_mode</link></member>
|
||||
<member><link linkend="beast.ref.boost__beast__file_posix">file_posix</link></member>
|
||||
@@ -46,10 +46,9 @@
|
||||
<member><link linkend="beast.ref.boost__beast__span">span</link></member>
|
||||
<member><link linkend="beast.ref.boost__beast__static_string">static_string</link></member>
|
||||
<member><link linkend="beast.ref.boost__beast__stable_async_op_base">stable_async_op_base</link> <emphasis role="green">🞲</emphasis></member>
|
||||
<member><link linkend="beast.ref.boost__beast__stranded_socket">stranded_socket</link> <emphasis role="green">🞲</emphasis></member>
|
||||
<member><link linkend="beast.ref.boost__beast__string_param">string_param</link></member>
|
||||
<member><link linkend="beast.ref.boost__beast__string_view">string_view</link></member>
|
||||
<member><link linkend="beast.ref.boost__beast__timeout_stream">timeout_stream</link> <emphasis role="green">🞲</emphasis></member>
|
||||
<member><link linkend="beast.ref.boost__beast__tcp_stream">tcp_stream</link> <emphasis role="green">🞲</emphasis></member>
|
||||
</simplelist>
|
||||
<bridgehead renderas="sect3">Constants</bridgehead>
|
||||
<simplelist type="vert" columns="1">
|
||||
|
||||
@@ -14,14 +14,19 @@
|
||||
[heading Boost 1.70]
|
||||
[/ includes up to version 209]
|
||||
[/
|
||||
* Use `beast::tcp_socket` instead of `boost::asio::ip::tcp::socket`!
|
||||
* subscribe to this GitHub issue to be informed!
|
||||
* we need testers!
|
||||
* star the repo!
|
||||
|
||||
Exposition:
|
||||
Enlarged scope
|
||||
New quality of life features:
|
||||
timed stream
|
||||
- `net` is a namespace alias for `boost::asio`
|
||||
- New quality of life features:
|
||||
tcp_socket
|
||||
async_op_base, stable_async_op_base
|
||||
New Networking refresher
|
||||
New websocket-chat-multi example
|
||||
* `net` is a namespace alias for `boost::asio`
|
||||
- New Networking refresher
|
||||
- New websocket-chat-multi example
|
||||
]
|
||||
|
||||
[tip
|
||||
|
||||
Reference in New Issue
Block a user