@@ -35,7 +35,7 @@ namespace flow::net_flow::asio
3535 * directly in a boost.asio event loop (see reference below for background). It is possible to use the
3636 * vanilla net_flow::Node, etc., with *any* asynchronous event loop (boost.asio or native `epoll` or `select()`...) --
3737 * notably by using a glue socket, as explained in Event_set doc header. However, for those using the boost.asio
38- * `io_service ` as the app's core main loop, this is not as easy as what one might desire. (Side note:
38+ * `io_context ` as the app's core main loop, this is not as easy as what one might desire. (Side note:
3939 * I personally strongly recommend using boost.asio event loops instead of rolling one's own or the many alternatives
4040 * I have seen. It is also on its way to ending up in the C++ standard library. Lastly, such a loop is used
4141 * internally to implement `net_flow`, so you know I like it, for what that's worth.)
@@ -46,7 +46,7 @@ namespace flow::net_flow::asio
4646 *
4747 * The usage pattern is simple, assuming you understand tha basics of net_flow::Node, net_flow::Server_socket, and
4848 * net_flow::Peer_socket -- and especially if you are familiar with boost.asio's built-in `tcp::acceptor` and
49- * `tcp::socket` (and, of course, `boost::asio::io_service ` that ties them and many more I/O objects together).
49+ * `tcp::socket` (and, of course, `boost::asio::io_context ` that ties them and many more I/O objects together).
5050 *
5151 * - First, simply create an asio::Node using the same form of constructor as you would with net_flow::Node, plus
5252 * an arg that's a pointer to the subsequently used target boost.asio flow::util::Task_engine, which is memorized.
@@ -72,7 +72,7 @@ namespace flow::net_flow::asio
7272 * - For each op inside an "arrow," I mean to include all forms of it
7373 * (`F` includes: `F()`, `sync_F()`, `async_F()`).
7474 * - This pattern is more practical/reasonable for us than the boost.asio pattern of each object memorizing its
75- * `io_service ` reference in its explicit constructor. That is because we fully embrace the
75+ * `io_context ` reference in its explicit constructor. That is because we fully embrace the
7676 * factory-of-shared-pointers pattern, and boost.asio doesn't use that pattern. We also provide an explicit
7777 * mutator however.
7878 * - We also allow for a null `Task_engine*` -- except when `async_*()` is actually performed.
@@ -82,7 +82,7 @@ namespace flow::net_flow::asio
8282 * boost.asio built-in I/O objects.)
8383 *
8484 * Having thus obtained asio::Server_socket and asio::Peer_socket objects (and assigned each their desired
85- * boost.asio `io_service ` loop(s) -- essentially as one does with, e.g., `tcp::acceptor` and `tcp::socket`
85+ * boost.asio `io_context ` loop(s) -- essentially as one does with, e.g., `tcp::acceptor` and `tcp::socket`
8686 * respectively) -- you many now use the full range of I/O operations. Here is a bird's eye view of all operations
8787 * available in the entire hierarchy. Note that conceptually this is essentially identical to boost.asio `tcp`
8888 * I/O objects, but nomenclature and API decisions are in some cases somewhat different (I contend: with good reason).
@@ -130,25 +130,25 @@ namespace flow::net_flow::asio
130130 * - Asynchronous operations (`asio::*` classes provide these):
131131 * - asio::Server_socket::async_accept() -> asio::Peer_socket: Obtain a fully connected peer socket object,
132132 * waiting as necessary in background for a connection to come in and fully establish,
133- * then invoking user-provided callback as if by `io_service ::post()`.
133+ * then invoking user-provided callback as if by `io_context ::post()`.
134134 * - Equivalent: `tcp::acceptor::async_accept()`.
135135 * - Variations: optional timeout can be specified.
136136 * - Variations: `reactor_pattern` mode, where the `accept()` call itself is left to user handler.
137137 * - asio::Node::async_connect() -> net_flow::Peer_socket: Return a fully connected peer socket object,
138138 * waiting as necessary in background to reach the remote server and fully establish connection,
139- * then invoking user-provided callback as if by `io_service ::post()`.
139+ * then invoking user-provided callback as if by `io_context ::post()`.
140140 * - Equivalent: `tcp::socket::async_connect()`.
141141 * - Variations: optional timeout can be specified.
142142 * - Variations: see also `*_with_metadata()` as above.
143143 * - asio::Peer_socket::async_send(): Queue up at least 1 of the N given bytes to send to peer ASAP,
144144 * waiting as necessary in background for this to become possible (as explained above),
145- * then invoking user-provided callback as if by `io_service ::post()`.
145+ * then invoking user-provided callback as if by `io_context ::post()`.
146146 * - Equivalent: `tcp::socket::async_send()`.
147147 * - Variations: optional timeout can be specified.
148148 * - Variations: `null_buffers` mode, where the `send()` call itself is left to user handler.
149149 * - asio::Peer_socket::async_receive(): Dequeue at least 1 of the desired N bytes from peer,
150150 * waiting as necessary in background for this to arrive from said remote peer,
151- * then invoking user-provided callback as if by `io_service ::post()`.
151+ * then invoking user-provided callback as if by `io_context ::post()`.
152152 * - Equivalent: `tcp::socket::async_receive()`.
153153 * - Variations: optional timeout can be specified.
154154 * - Variations: `null_buffers` mode, where the `receive()` call itself is left to user handler.
@@ -169,7 +169,7 @@ namespace flow::net_flow::asio
169169 * - Equivalent: `poll()` with 0 timeout.
170170 * - Event_set::async_wait(): Asynchronous I/O multiplixing, like sync_wait() but waits in background and
171171 * executes user-provided callback from an unspecified thread. (A typical callback might set a `future`
172- * result; `io_service ::post()` a task to some boost.asio event loop; perhaps set a flag that is
172+ * result; `io_context ::post()` a task to some boost.asio event loop; perhaps set a flag that is
173173 * periodically checked by some user thread; or send a byte over some quick IPC mechanism like a POSIX
174174 * domain socket or loopback UDP socket -- or even a condition variable.)
175175 * - Equivalents: none in POSIX, that I know of. Windows "overlapped" async I/O sounds vaguely like a distant
0 commit comments