Point documentation at new location for C++03 examples.
diff --git a/asio/src/doc/examples.qbk b/asio/src/doc/examples.qbk index 337f751..296ae7d 100644 --- a/asio/src/doc/examples.qbk +++ b/asio/src/doc/examples.qbk
@@ -13,7 +13,7 @@ This example shows how to customise the allocation of memory associated with asynchronous operations. -* [@../src/examples/allocation/server.cpp] +* [@../src/examples/cpp03/allocation/server.cpp] [heading Buffers] @@ -21,7 +21,7 @@ This example demonstrates how to create reference counted buffers that can be used with socket read and write operations. -* [@../src/examples/buffers/reference_counted.cpp] +* [@../src/examples/cpp03/buffers/reference_counted.cpp] [heading Chat] @@ -29,15 +29,15 @@ This example implements a chat server and client. The programs use a custom protocol with a fixed length message header and variable length message body. -* [@../src/examples/chat/chat_message.hpp] -* [@../src/examples/chat/chat_client.cpp] -* [@../src/examples/chat/chat_server.cpp] +* [@../src/examples/cpp03/chat/chat_message.hpp] +* [@../src/examples/cpp03/chat/chat_client.cpp] +* [@../src/examples/cpp03/chat/chat_server.cpp] The following POSIX-specific chat client demonstrates how to use the [link asio.reference.posix__stream_descriptor posix::stream_descriptor] class to perform console input and output. -* [@../src/examples/chat/posix_chat_client.cpp] +* [@../src/examples/cpp03/chat/posix_chat_client.cpp] [heading Echo] @@ -45,12 +45,12 @@ A collection of simple clients and servers, showing the use of both synchronous and asynchronous operations. -* [@../src/examples/echo/async_tcp_echo_server.cpp] -* [@../src/examples/echo/async_udp_echo_server.cpp] -* [@../src/examples/echo/blocking_tcp_echo_client.cpp] -* [@../src/examples/echo/blocking_tcp_echo_server.cpp] -* [@../src/examples/echo/blocking_udp_echo_client.cpp] -* [@../src/examples/echo/blocking_udp_echo_server.cpp] +* [@../src/examples/cpp03/echo/async_tcp_echo_server.cpp] +* [@../src/examples/cpp03/echo/async_udp_echo_server.cpp] +* [@../src/examples/cpp03/echo/blocking_tcp_echo_client.cpp] +* [@../src/examples/cpp03/echo/blocking_tcp_echo_server.cpp] +* [@../src/examples/cpp03/echo/blocking_udp_echo_client.cpp] +* [@../src/examples/cpp03/echo/blocking_udp_echo_server.cpp] [heading Fork] @@ -59,12 +59,12 @@ `fork()` system call. The first example illustrates the steps required to start a daemon process: -* [@../src/examples/fork/daemon.cpp] +* [@../src/examples/cpp03/fork/daemon.cpp] The second example demonstrates how it is possible to fork a process from within a completion handler. -* [@../src/examples/fork/process_per_connection.cpp] +* [@../src/examples/cpp03/fork/process_per_connection.cpp] [heading HTTP Client] @@ -73,8 +73,8 @@ to use the [link asio.reference.read_until read_until] and [link asio.reference.async_read_until async_read_until] functions. -* [@../src/examples/http/client/sync_client.cpp] -* [@../src/examples/http/client/async_client.cpp] +* [@../src/examples/cpp03/http/client/sync_client.cpp] +* [@../src/examples/cpp03/http/client/async_client.cpp] [heading HTTP Server] @@ -83,98 +83,98 @@ implementation of HTTP 1.0. It demonstrates how to perform a clean shutdown by cancelling all outstanding asynchronous operations. -* [@../src/examples/http/server/connection.cpp] -* [@../src/examples/http/server/connection.hpp] -* [@../src/examples/http/server/connection_manager.cpp] -* [@../src/examples/http/server/connection_manager.hpp] -* [@../src/examples/http/server/header.hpp] -* [@../src/examples/http/server/main.cpp] -* [@../src/examples/http/server/mime_types.cpp] -* [@../src/examples/http/server/mime_types.hpp] -* [@../src/examples/http/server/reply.cpp] -* [@../src/examples/http/server/reply.hpp] -* [@../src/examples/http/server/request.hpp] -* [@../src/examples/http/server/request_handler.cpp] -* [@../src/examples/http/server/request_handler.hpp] -* [@../src/examples/http/server/request_parser.cpp] -* [@../src/examples/http/server/request_parser.hpp] -* [@../src/examples/http/server/server.cpp] -* [@../src/examples/http/server/server.hpp] +* [@../src/examples/cpp03/http/server/connection.cpp] +* [@../src/examples/cpp03/http/server/connection.hpp] +* [@../src/examples/cpp03/http/server/connection_manager.cpp] +* [@../src/examples/cpp03/http/server/connection_manager.hpp] +* [@../src/examples/cpp03/http/server/header.hpp] +* [@../src/examples/cpp03/http/server/main.cpp] +* [@../src/examples/cpp03/http/server/mime_types.cpp] +* [@../src/examples/cpp03/http/server/mime_types.hpp] +* [@../src/examples/cpp03/http/server/reply.cpp] +* [@../src/examples/cpp03/http/server/reply.hpp] +* [@../src/examples/cpp03/http/server/request.hpp] +* [@../src/examples/cpp03/http/server/request_handler.cpp] +* [@../src/examples/cpp03/http/server/request_handler.hpp] +* [@../src/examples/cpp03/http/server/request_parser.cpp] +* [@../src/examples/cpp03/http/server/request_parser.hpp] +* [@../src/examples/cpp03/http/server/server.cpp] +* [@../src/examples/cpp03/http/server/server.hpp] [heading HTTP Server 2] An HTTP server using an io_service-per-CPU design. -* [@../src/examples/http/server2/connection.cpp] -* [@../src/examples/http/server2/connection.hpp] -* [@../src/examples/http/server2/header.hpp] -* [@../src/examples/http/server2/io_service_pool.cpp] -* [@../src/examples/http/server2/io_service_pool.hpp] -* [@../src/examples/http/server2/main.cpp] -* [@../src/examples/http/server2/mime_types.cpp] -* [@../src/examples/http/server2/mime_types.hpp] -* [@../src/examples/http/server2/reply.cpp] -* [@../src/examples/http/server2/reply.hpp] -* [@../src/examples/http/server2/request.hpp] -* [@../src/examples/http/server2/request_handler.cpp] -* [@../src/examples/http/server2/request_handler.hpp] -* [@../src/examples/http/server2/request_parser.cpp] -* [@../src/examples/http/server2/request_parser.hpp] -* [@../src/examples/http/server2/server.cpp] -* [@../src/examples/http/server2/server.hpp] +* [@../src/examples/cpp03/http/server2/connection.cpp] +* [@../src/examples/cpp03/http/server2/connection.hpp] +* [@../src/examples/cpp03/http/server2/header.hpp] +* [@../src/examples/cpp03/http/server2/io_service_pool.cpp] +* [@../src/examples/cpp03/http/server2/io_service_pool.hpp] +* [@../src/examples/cpp03/http/server2/main.cpp] +* [@../src/examples/cpp03/http/server2/mime_types.cpp] +* [@../src/examples/cpp03/http/server2/mime_types.hpp] +* [@../src/examples/cpp03/http/server2/reply.cpp] +* [@../src/examples/cpp03/http/server2/reply.hpp] +* [@../src/examples/cpp03/http/server2/request.hpp] +* [@../src/examples/cpp03/http/server2/request_handler.cpp] +* [@../src/examples/cpp03/http/server2/request_handler.hpp] +* [@../src/examples/cpp03/http/server2/request_parser.cpp] +* [@../src/examples/cpp03/http/server2/request_parser.hpp] +* [@../src/examples/cpp03/http/server2/server.cpp] +* [@../src/examples/cpp03/http/server2/server.hpp] [heading HTTP Server 3] An HTTP server using a single io_service and a thread pool calling `io_service::run()`. -* [@../src/examples/http/server3/connection.cpp] -* [@../src/examples/http/server3/connection.hpp] -* [@../src/examples/http/server3/header.hpp] -* [@../src/examples/http/server3/main.cpp] -* [@../src/examples/http/server3/mime_types.cpp] -* [@../src/examples/http/server3/mime_types.hpp] -* [@../src/examples/http/server3/reply.cpp] -* [@../src/examples/http/server3/reply.hpp] -* [@../src/examples/http/server3/request.hpp] -* [@../src/examples/http/server3/request_handler.cpp] -* [@../src/examples/http/server3/request_handler.hpp] -* [@../src/examples/http/server3/request_parser.cpp] -* [@../src/examples/http/server3/request_parser.hpp] -* [@../src/examples/http/server3/server.cpp] -* [@../src/examples/http/server3/server.hpp] +* [@../src/examples/cpp03/http/server3/connection.cpp] +* [@../src/examples/cpp03/http/server3/connection.hpp] +* [@../src/examples/cpp03/http/server3/header.hpp] +* [@../src/examples/cpp03/http/server3/main.cpp] +* [@../src/examples/cpp03/http/server3/mime_types.cpp] +* [@../src/examples/cpp03/http/server3/mime_types.hpp] +* [@../src/examples/cpp03/http/server3/reply.cpp] +* [@../src/examples/cpp03/http/server3/reply.hpp] +* [@../src/examples/cpp03/http/server3/request.hpp] +* [@../src/examples/cpp03/http/server3/request_handler.cpp] +* [@../src/examples/cpp03/http/server3/request_handler.hpp] +* [@../src/examples/cpp03/http/server3/request_parser.cpp] +* [@../src/examples/cpp03/http/server3/request_parser.hpp] +* [@../src/examples/cpp03/http/server3/server.cpp] +* [@../src/examples/cpp03/http/server3/server.hpp] [heading HTTP Server 4] A single-threaded HTTP server implemented using stackless coroutines. -* [@../src/examples/http/server4/coroutine.hpp] -* [@../src/examples/http/server4/file_handler.cpp] -* [@../src/examples/http/server4/file_handler.hpp] -* [@../src/examples/http/server4/header.hpp] -* [@../src/examples/http/server4/main.cpp] -* [@../src/examples/http/server4/mime_types.cpp] -* [@../src/examples/http/server4/mime_types.hpp] -* [@../src/examples/http/server4/reply.cpp] -* [@../src/examples/http/server4/reply.hpp] -* [@../src/examples/http/server4/request.hpp] -* [@../src/examples/http/server4/request_parser.cpp] -* [@../src/examples/http/server4/request_parser.hpp] -* [@../src/examples/http/server4/server.cpp] -* [@../src/examples/http/server4/server.hpp] -* [@../src/examples/http/server4/unyield.hpp] -* [@../src/examples/http/server4/yield.hpp] +* [@../src/examples/cpp03/http/server4/coroutine.hpp] +* [@../src/examples/cpp03/http/server4/file_handler.cpp] +* [@../src/examples/cpp03/http/server4/file_handler.hpp] +* [@../src/examples/cpp03/http/server4/header.hpp] +* [@../src/examples/cpp03/http/server4/main.cpp] +* [@../src/examples/cpp03/http/server4/mime_types.cpp] +* [@../src/examples/cpp03/http/server4/mime_types.hpp] +* [@../src/examples/cpp03/http/server4/reply.cpp] +* [@../src/examples/cpp03/http/server4/reply.hpp] +* [@../src/examples/cpp03/http/server4/request.hpp] +* [@../src/examples/cpp03/http/server4/request_parser.cpp] +* [@../src/examples/cpp03/http/server4/request_parser.hpp] +* [@../src/examples/cpp03/http/server4/server.cpp] +* [@../src/examples/cpp03/http/server4/server.hpp] +* [@../src/examples/cpp03/http/server4/unyield.hpp] +* [@../src/examples/cpp03/http/server4/yield.hpp] [heading ICMP] This example shows how to use raw sockets with ICMP to ping a remote host. -* [@../src/examples/icmp/ping.cpp] -* [@../src/examples/icmp/ipv4_header.hpp] -* [@../src/examples/icmp/icmp_header.hpp] +* [@../src/examples/cpp03/icmp/ping.cpp] +* [@../src/examples/cpp03/icmp/ipv4_header.hpp] +* [@../src/examples/cpp03/icmp/icmp_header.hpp] [heading Invocation] @@ -182,7 +182,7 @@ This example shows how to customise handler invocation. Completion handlers are added to a priority queue rather than executed immediately. -* [@../src/examples/invocation/prioritised_handlers.cpp] +* [@../src/examples/cpp03/invocation/prioritised_handlers.cpp] [heading Iostreams] @@ -190,9 +190,9 @@ Two examples showing how to use [link asio.reference.ip__tcp.iostream ip::tcp::iostream]. -* [@../src/examples/iostreams/daytime_client.cpp] -* [@../src/examples/iostreams/daytime_server.cpp] -* [@../src/examples/iostreams/http_client.cpp] +* [@../src/examples/cpp03/iostreams/daytime_client.cpp] +* [@../src/examples/cpp03/iostreams/daytime_server.cpp] +* [@../src/examples/cpp03/iostreams/http_client.cpp] [heading Multicast] @@ -200,8 +200,8 @@ An example showing the use of multicast to transmit packets to a group of subscribers. -* [@../src/examples/multicast/receiver.cpp] -* [@../src/examples/multicast/sender.cpp] +* [@../src/examples/cpp03/multicast/receiver.cpp] +* [@../src/examples/cpp03/multicast/sender.cpp] [heading Serialization] @@ -209,10 +209,10 @@ This example shows how Boost.Serialization can be used with asio to encode and decode structures for transmission over a socket. -* [@../src/examples/serialization/client.cpp] -* [@../src/examples/serialization/connection.hpp] -* [@../src/examples/serialization/server.cpp] -* [@../src/examples/serialization/stock.hpp] +* [@../src/examples/cpp03/serialization/client.cpp] +* [@../src/examples/cpp03/serialization/connection.hpp] +* [@../src/examples/cpp03/serialization/server.cpp] +* [@../src/examples/cpp03/serialization/stock.hpp] [heading Services] @@ -222,12 +222,12 @@ how to use a custom service with [link asio.reference.basic_stream_socket basic_stream_socket<>]. -* [@../src/examples/services/basic_logger.hpp] -* [@../src/examples/services/daytime_client.cpp] -* [@../src/examples/services/logger.hpp] -* [@../src/examples/services/logger_service.cpp] -* [@../src/examples/services/logger_service.hpp] -* [@../src/examples/services/stream_socket_service.hpp] +* [@../src/examples/cpp03/services/basic_logger.hpp] +* [@../src/examples/cpp03/services/daytime_client.cpp] +* [@../src/examples/cpp03/services/logger.hpp] +* [@../src/examples/cpp03/services/logger_service.cpp] +* [@../src/examples/cpp03/services/logger_service.hpp] +* [@../src/examples/cpp03/services/stream_socket_service.hpp] [heading SOCKS 4] @@ -235,8 +235,8 @@ Example client program implementing the SOCKS 4 protocol for communication via a proxy. -* [@../src/examples/socks4/sync_client.cpp] -* [@../src/examples/socks4/socks4.hpp] +* [@../src/examples/cpp03/socks4/sync_client.cpp] +* [@../src/examples/cpp03/socks4/socks4.hpp] [heading SSL] @@ -244,8 +244,8 @@ Example client and server programs showing the use of the [link asio.reference.ssl__stream ssl::stream<>] template with asynchronous operations. -* [@../src/examples/ssl/client.cpp] -* [@../src/examples/ssl/server.cpp] +* [@../src/examples/cpp03/ssl/client.cpp] +* [@../src/examples/cpp03/ssl/server.cpp] [heading Timeouts] @@ -253,18 +253,18 @@ A collection of examples showing how to cancel long running asynchronous operations after a period of time. -* [@../src/examples/timeouts/async_tcp_client.cpp] -* [@../src/examples/timeouts/blocking_tcp_client.cpp] -* [@../src/examples/timeouts/blocking_udp_client.cpp] -* [@../src/examples/timeouts/server.cpp] +* [@../src/examples/cpp03/timeouts/async_tcp_client.cpp] +* [@../src/examples/cpp03/timeouts/blocking_tcp_client.cpp] +* [@../src/examples/cpp03/timeouts/blocking_udp_client.cpp] +* [@../src/examples/cpp03/timeouts/server.cpp] [heading Timers] Examples showing how to customise deadline_timer using different time types. -* [@../src/examples/timers/tick_count_timer.cpp] -* [@../src/examples/timers/time_t_timer.cpp] +* [@../src/examples/cpp03/timers/tick_count_timer.cpp] +* [@../src/examples/cpp03/timers/time_t_timer.cpp] [heading Porthopper] @@ -272,9 +272,9 @@ Example illustrating mixed synchronous and asynchronous operations, and how to use Boost.Lambda with Asio. -* [@../src/examples/porthopper/protocol.hpp] -* [@../src/examples/porthopper/client.cpp] -* [@../src/examples/porthopper/server.cpp] +* [@../src/examples/cpp03/porthopper/protocol.hpp] +* [@../src/examples/cpp03/porthopper/client.cpp] +* [@../src/examples/cpp03/porthopper/server.cpp] [heading Nonblocking] @@ -282,16 +282,26 @@ Example demonstrating reactor-style operations for integrating a third-party library that wants to perform the I/O operations itself. -* [@../src/examples/nonblocking/third_party_lib.cpp] +* [@../src/examples/cpp03/nonblocking/third_party_lib.cpp] + + +[heading Spawn] + +Example of using the asio::spawn() function, a wrapper around the +[@www.boost.org/doc/libs/release/libs/coroutine/index.html Boost.Coroutine] +library, to implement a chain of asynchronous operations using stackful +coroutines. + +* [@../src/examples/cpp03/spawn/echo_server.cpp] [heading UNIX Domain Sockets] Examples showing how to use UNIX domain (local) sockets. -* [@../src/examples/local/connect_pair.cpp] -* [@../src/examples/local/stream_server.cpp] -* [@../src/examples/local/stream_client.cpp] +* [@../src/examples/cpp03/local/connect_pair.cpp] +* [@../src/examples/cpp03/local/stream_server.cpp] +* [@../src/examples/cpp03/local/stream_client.cpp] [heading Windows] @@ -299,7 +309,7 @@ An example showing how to use the Windows-specific function `TransmitFile` with Asio. -* [@../src/examples/windows/transmit_file.cpp] +* [@../src/examples/cpp03/windows/transmit_file.cpp] [endsect]
diff --git a/asio/src/doc/tutorial.dox b/asio/src/doc/tutorial.dox index aeecd84..1dac40d 100644 --- a/asio/src/doc/tutorial.dox +++ b/asio/src/doc/tutorial.dox
@@ -72,9 +72,9 @@ #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ./../examples/tutorial/index_dox.txt \ - ./../examples/tutorial/timer_dox.txt \ - ./../examples/tutorial/daytime_dox.txt \ +INPUT = ./../examples/cpp03/tutorial/index_dox.txt \ + ./../examples/cpp03/tutorial/timer_dox.txt \ + ./../examples/cpp03/tutorial/daytime_dox.txt \ ./boost_bind_dox.txt FILE_PATTERNS = RECURSIVE = NO