From bb38d425fb50e767c9cac8a573f06c3a619393d7 Mon Sep 17 00:00:00 2001 From: Christopher Kohlhoff Date: Sun, 15 Jan 2012 13:46:25 +0000 Subject: [PATCH] Merge from trunk: * Chrono support. * Added object_handle support. * Need to enable the basic_handle class when object_handle is supported. * Update copyright notices. * Fix MSVC "performance warning". * Fix for NetBSD. Fixes #6098. * Fix regression in buffered_write_stream. Fixes #6310. * Fix deadlock on Mac OS X. Fixes #6275. * On linux, connect can return EAGAIN in certain circumstances. Remap to another error so that it doesn't look like a non-blocking operation. Fixes #6048. * Fix non-paged pool "leak" on Windows when io_service is repeatedly run without anything to do. Fixes #6321. * Disable object_handle on Windows CE. * Add extra include required for OVERLAPPED struct. * Fix doxygen comments. * Update documentation. * Add missing class. * Update copyright year. [SVN r76516] --- doc/Jamfile.v2 | 2 +- doc/asio.qbk | 4 +- doc/doxy2qbk.pl | 2 +- doc/examples.qbk | 2 +- doc/history.qbk | 25 +- doc/index.xml | 2 +- doc/noncopyable_dox.txt | 2 +- doc/overview.qbk | 4 +- doc/overview/allocation.qbk | 2 +- doc/overview/async.qbk | 2 +- doc/overview/basics.qbk | 2 +- doc/overview/bsd_sockets.qbk | 2 +- doc/overview/buffers.qbk | 2 +- doc/overview/cpp2011.qbk | 27 +- doc/overview/handler_tracking.qbk | 2 +- doc/overview/implementation.qbk | 2 +- doc/overview/iostreams.qbk | 2 +- doc/overview/line_based.qbk | 2 +- doc/overview/posix.qbk | 2 +- doc/overview/protocols.qbk | 2 +- doc/overview/rationale.qbk | 2 +- doc/overview/reactor.qbk | 2 +- doc/overview/serial_ports.qbk | 2 +- doc/overview/signals.qbk | 2 +- doc/overview/ssl.qbk | 2 +- doc/overview/strands.qbk | 2 +- doc/overview/streams.qbk | 2 +- doc/overview/threads.qbk | 2 +- doc/overview/timers.qbk | 2 +- doc/overview/windows.qbk | 43 +- doc/quickref.xml | 14 +- doc/reference.qbk | 4399 ++++++++++++++++- doc/reference.xsl | 19 +- doc/requirements.qbk | 2 +- doc/requirements/AcceptHandler.qbk | 2 +- .../AsyncRandomAccessReadDevice.qbk | 2 +- .../AsyncRandomAccessWriteDevice.qbk | 2 +- doc/requirements/AsyncReadStream.qbk | 2 +- doc/requirements/AsyncWriteStream.qbk | 2 +- doc/requirements/CompletionHandler.qbk | 2 +- doc/requirements/ComposedConnectHandler.qbk | 2 +- doc/requirements/ConnectHandler.qbk | 2 +- doc/requirements/ConstBufferSequence.qbk | 2 +- doc/requirements/ConvertibleToConstBuffer.qbk | 2 +- .../ConvertibleToMutableBuffer.qbk | 2 +- doc/requirements/DatagramSocketService.qbk | 2 +- doc/requirements/DescriptorService.qbk | 2 +- doc/requirements/Endpoint.qbk | 2 +- doc/requirements/GettableSerialPortOption.qbk | 2 +- doc/requirements/GettableSocketOption.qbk | 2 +- doc/requirements/HandleService.qbk | 2 +- doc/requirements/Handler.qbk | 2 +- doc/requirements/HandshakeHandler.qbk | 2 +- doc/requirements/InternetProtocol.qbk | 2 +- doc/requirements/IoControlCommand.qbk | 2 +- doc/requirements/IoObjectService.qbk | 2 +- doc/requirements/MutableBufferSequence.qbk | 2 +- doc/requirements/ObjectHandleService.qbk | 46 + doc/requirements/Protocol.qbk | 2 +- .../RandomAccessHandleService.qbk | 2 +- doc/requirements/RawSocketService.qbk | 2 +- doc/requirements/ReadHandler.qbk | 2 +- doc/requirements/ResolveHandler.qbk | 2 +- doc/requirements/ResolverService.qbk | 2 +- doc/requirements/SeqPacketSocketService.qbk | 2 +- doc/requirements/SerialPortService.qbk | 2 +- doc/requirements/Service.qbk | 2 +- doc/requirements/SettableSerialPortOption.qbk | 2 +- doc/requirements/SettableSocketOption.qbk | 2 +- doc/requirements/ShutdownHandler.qbk | 2 +- doc/requirements/SignalHandler.qbk | 2 +- doc/requirements/SignalSetService.qbk | 2 +- doc/requirements/SocketAcceptorService.qbk | 2 +- doc/requirements/SocketService.qbk | 2 +- doc/requirements/StreamDescriptorService.qbk | 2 +- doc/requirements/StreamHandleService.qbk | 2 +- doc/requirements/StreamSocketService.qbk | 2 +- .../SyncRandomAccessReadDevice.qbk | 2 +- .../SyncRandomAccessWriteDevice.qbk | 2 +- doc/requirements/SyncReadStream.qbk | 2 +- doc/requirements/SyncWriteStream.qbk | 2 +- doc/requirements/TimeTraits.qbk | 2 +- doc/requirements/TimerService.qbk | 2 +- doc/requirements/WaitHandler.qbk | 2 +- doc/requirements/WaitTraits.qbk | 26 + doc/requirements/WaitableTimerService.qbk | 104 + doc/requirements/WriteHandler.qbk | 2 +- doc/requirements/asynchronous_operations.qbk | 2 +- doc/std_exception_dox.txt | 2 +- doc/tutorial.qbk | 26 +- doc/tutorial.xsl | 4 +- doc/using.qbk | 2 +- example/allocation/Jamfile | 2 +- example/allocation/Jamfile.v2 | 2 +- example/allocation/server.cpp | 2 +- example/buffers/Jamfile | 2 +- example/buffers/Jamfile.v2 | 2 +- example/buffers/reference_counted.cpp | 2 +- example/chat/Jamfile | 2 +- example/chat/Jamfile.v2 | 2 +- example/chat/chat_client.cpp | 2 +- example/chat/chat_message.hpp | 2 +- example/chat/chat_server.cpp | 2 +- example/chat/posix_chat_client.cpp | 2 +- example/echo/Jamfile | 2 +- example/echo/Jamfile.v2 | 2 +- example/echo/async_tcp_echo_server.cpp | 2 +- example/echo/async_udp_echo_server.cpp | 2 +- example/echo/blocking_tcp_echo_client.cpp | 2 +- example/echo/blocking_tcp_echo_server.cpp | 2 +- example/echo/blocking_udp_echo_client.cpp | 2 +- example/echo/blocking_udp_echo_server.cpp | 2 +- example/fork/Jamfile | 2 +- example/fork/Jamfile.v2 | 2 +- example/fork/daemon.cpp | 2 +- example/fork/process_per_connection.cpp | 2 +- example/http/client/Jamfile | 2 +- example/http/client/Jamfile.v2 | 2 +- example/http/client/async_client.cpp | 2 +- example/http/client/sync_client.cpp | 2 +- example/http/doc_root/data_1K.html | 2 +- example/http/doc_root/data_2K.html | 2 +- example/http/doc_root/data_4K.html | 2 +- example/http/doc_root/data_8K.html | 2 +- example/http/server/Jamfile | 2 +- example/http/server/Jamfile.v2 | 2 +- example/http/server/connection.cpp | 2 +- example/http/server/connection.hpp | 2 +- example/http/server/connection_manager.cpp | 2 +- example/http/server/connection_manager.hpp | 2 +- example/http/server/header.hpp | 2 +- example/http/server/main.cpp | 2 +- example/http/server/mime_types.cpp | 2 +- example/http/server/mime_types.hpp | 2 +- example/http/server/reply.cpp | 2 +- example/http/server/reply.hpp | 2 +- example/http/server/request.hpp | 2 +- example/http/server/request_handler.cpp | 2 +- example/http/server/request_handler.hpp | 2 +- example/http/server/request_parser.cpp | 2 +- example/http/server/request_parser.hpp | 2 +- example/http/server/server.cpp | 2 +- example/http/server/server.hpp | 2 +- example/http/server2/Jamfile | 2 +- example/http/server2/Jamfile.v2 | 2 +- example/http/server2/connection.cpp | 2 +- example/http/server2/connection.hpp | 2 +- example/http/server2/header.hpp | 2 +- example/http/server2/io_service_pool.cpp | 2 +- example/http/server2/io_service_pool.hpp | 2 +- example/http/server2/main.cpp | 2 +- example/http/server2/mime_types.cpp | 2 +- example/http/server2/mime_types.hpp | 2 +- example/http/server2/reply.cpp | 2 +- example/http/server2/reply.hpp | 2 +- example/http/server2/request.hpp | 2 +- example/http/server2/request_handler.cpp | 2 +- example/http/server2/request_handler.hpp | 2 +- example/http/server2/request_parser.cpp | 2 +- example/http/server2/request_parser.hpp | 2 +- example/http/server2/server.cpp | 2 +- example/http/server2/server.hpp | 2 +- example/http/server3/Jamfile | 2 +- example/http/server3/Jamfile.v2 | 2 +- example/http/server3/connection.cpp | 2 +- example/http/server3/connection.hpp | 2 +- example/http/server3/header.hpp | 2 +- example/http/server3/main.cpp | 2 +- example/http/server3/mime_types.cpp | 2 +- example/http/server3/mime_types.hpp | 2 +- example/http/server3/reply.cpp | 2 +- example/http/server3/reply.hpp | 2 +- example/http/server3/request.hpp | 2 +- example/http/server3/request_handler.cpp | 2 +- example/http/server3/request_handler.hpp | 2 +- example/http/server3/request_parser.cpp | 2 +- example/http/server3/request_parser.hpp | 2 +- example/http/server3/server.cpp | 2 +- example/http/server3/server.hpp | 2 +- example/http/server4/Jamfile | 2 +- example/http/server4/Jamfile.v2 | 2 +- example/http/server4/coroutine.hpp | 2 +- example/http/server4/file_handler.cpp | 2 +- example/http/server4/file_handler.hpp | 2 +- example/http/server4/header.hpp | 2 +- example/http/server4/main.cpp | 2 +- example/http/server4/mime_types.cpp | 2 +- example/http/server4/mime_types.hpp | 2 +- example/http/server4/reply.cpp | 2 +- example/http/server4/reply.hpp | 2 +- example/http/server4/request.hpp | 2 +- example/http/server4/request_parser.cpp | 2 +- example/http/server4/request_parser.hpp | 2 +- example/http/server4/server.cpp | 2 +- example/http/server4/server.hpp | 2 +- example/http/server4/unyield.hpp | 2 +- example/http/server4/yield.hpp | 2 +- example/icmp/Jamfile | 2 +- example/icmp/Jamfile.v2 | 2 +- example/icmp/icmp_header.hpp | 2 +- example/icmp/ipv4_header.hpp | 2 +- example/icmp/ping.cpp | 2 +- example/invocation/Jamfile | 2 +- example/invocation/Jamfile.v2 | 2 +- example/invocation/prioritised_handlers.cpp | 2 +- example/iostreams/Jamfile | 2 +- example/iostreams/Jamfile.v2 | 2 +- example/iostreams/daytime_client.cpp | 2 +- example/iostreams/daytime_server.cpp | 2 +- example/iostreams/http_client.cpp | 2 +- example/local/Jamfile | 2 +- example/local/Jamfile.v2 | 2 +- example/local/connect_pair.cpp | 2 +- example/local/iostream_client.cpp | 2 +- example/local/stream_client.cpp | 2 +- example/local/stream_server.cpp | 2 +- example/multicast/Jamfile | 2 +- example/multicast/Jamfile.v2 | 2 +- example/multicast/receiver.cpp | 2 +- example/multicast/sender.cpp | 2 +- example/nonblocking/Jamfile | 2 +- example/nonblocking/Jamfile.v2 | 2 +- example/nonblocking/third_party_lib.cpp | 2 +- example/porthopper/Jamfile | 2 +- example/porthopper/Jamfile.v2 | 2 +- example/porthopper/client.cpp | 2 +- example/porthopper/protocol.hpp | 2 +- example/porthopper/server.cpp | 2 +- example/serialization/Jamfile | 2 +- example/serialization/Jamfile.v2 | 2 +- example/serialization/client.cpp | 2 +- example/serialization/connection.hpp | 2 +- example/serialization/server.cpp | 2 +- example/serialization/stock.hpp | 2 +- example/services/Jamfile | 2 +- example/services/Jamfile.v2 | 2 +- example/services/basic_logger.hpp | 2 +- example/services/daytime_client.cpp | 2 +- example/services/logger.hpp | 2 +- example/services/logger_service.cpp | 2 +- example/services/logger_service.hpp | 2 +- example/services/stream_socket_service.hpp | 2 +- example/socks4/Jamfile | 2 +- example/socks4/Jamfile.v2 | 2 +- example/socks4/socks4.hpp | 2 +- example/socks4/sync_client.cpp | 2 +- example/ssl/Jamfile | 2 +- example/ssl/Jamfile.v2 | 2 +- example/ssl/README | 2 +- example/ssl/client.cpp | 2 +- example/ssl/server.cpp | 2 +- example/timeouts/Jamfile | 2 +- example/timeouts/Jamfile.v2 | 2 +- example/timeouts/async_tcp_client.cpp | 2 +- example/timeouts/blocking_tcp_client.cpp | 2 +- example/timeouts/blocking_udp_client.cpp | 2 +- example/timeouts/server.cpp | 2 +- example/timers/Jamfile | 2 +- example/timers/Jamfile.v2 | 2 +- example/timers/tick_count_timer.cpp | 2 +- example/timers/time_t_timer.cpp | 2 +- example/tutorial/Jamfile | 2 +- example/tutorial/Jamfile.v2 | 2 +- example/tutorial/daytime1/client.cpp | 2 +- example/tutorial/daytime2/server.cpp | 2 +- example/tutorial/daytime3/server.cpp | 2 +- example/tutorial/daytime4/client.cpp | 2 +- example/tutorial/daytime5/server.cpp | 2 +- example/tutorial/daytime6/server.cpp | 2 +- example/tutorial/daytime7/server.cpp | 2 +- example/tutorial/daytime_dox.txt | 12 +- example/tutorial/index_dox.txt | 2 +- example/tutorial/timer1/timer.cpp | 2 +- example/tutorial/timer2/timer.cpp | 2 +- example/tutorial/timer3/timer.cpp | 2 +- example/tutorial/timer4/timer.cpp | 2 +- example/tutorial/timer5/timer.cpp | 2 +- example/tutorial/timer_dox.txt | 2 +- example/windows/Jamfile | 2 +- example/windows/Jamfile.v2 | 2 +- example/windows/transmit_file.cpp | 2 +- include/boost/asio.hpp | 8 +- include/boost/asio/basic_datagram_socket.hpp | 2 +- include/boost/asio/basic_deadline_timer.hpp | 2 +- include/boost/asio/basic_io_object.hpp | 2 +- include/boost/asio/basic_raw_socket.hpp | 2 +- .../boost/asio/basic_seq_packet_socket.hpp | 2 +- include/boost/asio/basic_serial_port.hpp | 2 +- include/boost/asio/basic_signal_set.hpp | 2 +- include/boost/asio/basic_socket.hpp | 2 +- include/boost/asio/basic_socket_acceptor.hpp | 2 +- include/boost/asio/basic_socket_iostream.hpp | 2 +- include/boost/asio/basic_socket_streambuf.hpp | 2 +- include/boost/asio/basic_stream_socket.hpp | 2 +- include/boost/asio/basic_streambuf.hpp | 2 +- include/boost/asio/basic_streambuf_fwd.hpp | 2 +- include/boost/asio/basic_waitable_timer.hpp | 518 ++ include/boost/asio/buffer.hpp | 2 +- include/boost/asio/buffered_read_stream.hpp | 2 +- .../boost/asio/buffered_read_stream_fwd.hpp | 2 +- include/boost/asio/buffered_stream.hpp | 2 +- include/boost/asio/buffered_stream_fwd.hpp | 2 +- include/boost/asio/buffered_write_stream.hpp | 5 +- .../boost/asio/buffered_write_stream_fwd.hpp | 2 +- include/boost/asio/buffers_iterator.hpp | 2 +- include/boost/asio/completion_condition.hpp | 2 +- include/boost/asio/connect.hpp | 2 +- .../boost/asio/datagram_socket_service.hpp | 2 +- include/boost/asio/deadline_timer.hpp | 2 +- include/boost/asio/deadline_timer_service.hpp | 3 +- include/boost/asio/detail/array.hpp | 2 +- include/boost/asio/detail/array_fwd.hpp | 2 +- include/boost/asio/detail/atomic_count.hpp | 2 +- .../asio/detail/base_from_completion_cond.hpp | 2 +- include/boost/asio/detail/bind_handler.hpp | 2 +- .../boost/asio/detail/buffer_resize_guard.hpp | 2 +- .../asio/detail/buffer_sequence_adapter.hpp | 2 +- .../asio/detail/buffered_stream_storage.hpp | 2 +- include/boost/asio/detail/call_stack.hpp | 2 +- .../boost/asio/detail/chrono_time_traits.hpp | 129 + .../boost/asio/detail/completion_handler.hpp | 2 +- include/boost/asio/detail/config.hpp | 33 +- .../boost/asio/detail/consuming_buffers.hpp | 2 +- include/boost/asio/detail/date_time_fwd.hpp | 34 + .../asio/detail/deadline_timer_service.hpp | 28 +- include/boost/asio/detail/dependent_type.hpp | 2 +- include/boost/asio/detail/descriptor_ops.hpp | 2 +- .../boost/asio/detail/descriptor_read_op.hpp | 2 +- .../boost/asio/detail/descriptor_write_op.hpp | 2 +- .../boost/asio/detail/dev_poll_reactor.hpp | 6 +- .../asio/detail/dev_poll_reactor_fwd.hpp | 2 +- include/boost/asio/detail/epoll_reactor.hpp | 6 +- .../boost/asio/detail/epoll_reactor_fwd.hpp | 2 +- include/boost/asio/detail/event.hpp | 2 +- .../detail/eventfd_select_interrupter.hpp | 2 +- include/boost/asio/detail/fd_set_adapter.hpp | 2 +- include/boost/asio/detail/fenced_block.hpp | 2 +- .../asio/detail/gcc_arm_fenced_block.hpp | 2 +- .../asio/detail/gcc_hppa_fenced_block.hpp | 2 +- .../asio/detail/gcc_sync_fenced_block.hpp | 2 +- .../asio/detail/gcc_x86_fenced_block.hpp | 2 +- .../asio/detail/handler_alloc_helpers.hpp | 2 +- .../asio/detail/handler_invoke_helpers.hpp | 2 +- .../boost/asio/detail/handler_tracking.hpp | 2 +- .../asio/detail/handler_type_requirements.hpp | 2 +- include/boost/asio/detail/hash_map.hpp | 2 +- .../boost/asio/detail/impl/descriptor_ops.ipp | 2 +- .../asio/detail/impl/dev_poll_reactor.hpp | 4 +- .../asio/detail/impl/dev_poll_reactor.ipp | 2 +- .../boost/asio/detail/impl/epoll_reactor.hpp | 4 +- .../boost/asio/detail/impl/epoll_reactor.ipp | 2 +- .../impl/eventfd_select_interrupter.ipp | 2 +- .../asio/detail/impl/handler_tracking.ipp | 2 +- .../boost/asio/detail/impl/kqueue_reactor.hpp | 4 +- .../boost/asio/detail/impl/kqueue_reactor.ipp | 6 +- .../detail/impl/pipe_select_interrupter.ipp | 2 +- .../boost/asio/detail/impl/posix_event.ipp | 2 +- .../boost/asio/detail/impl/posix_mutex.ipp | 2 +- .../boost/asio/detail/impl/posix_thread.ipp | 2 +- .../boost/asio/detail/impl/posix_tss_ptr.ipp | 2 +- .../impl/reactive_descriptor_service.ipp | 2 +- .../impl/reactive_serial_port_service.ipp | 2 +- .../impl/reactive_socket_service_base.ipp | 2 +- .../detail/impl/resolver_service_base.ipp | 2 +- .../boost/asio/detail/impl/select_reactor.hpp | 4 +- .../boost/asio/detail/impl/select_reactor.ipp | 2 +- .../asio/detail/impl/service_registry.hpp | 2 +- .../asio/detail/impl/service_registry.ipp | 2 +- .../asio/detail/impl/signal_set_service.ipp | 2 +- include/boost/asio/detail/impl/socket_ops.ipp | 6 +- .../detail/impl/socket_select_interrupter.ipp | 2 +- .../boost/asio/detail/impl/strand_service.hpp | 2 +- .../boost/asio/detail/impl/strand_service.ipp | 2 +- .../asio/detail/impl/task_io_service.hpp | 2 +- .../asio/detail/impl/task_io_service.ipp | 7 +- .../boost/asio/detail/impl/throw_error.ipp | 2 +- .../asio/detail/impl/timer_queue_ptime.ipp | 82 + .../asio/detail/impl/timer_queue_set.ipp | 2 +- include/boost/asio/detail/impl/win_event.ipp | 2 +- .../detail/impl/win_iocp_handle_service.ipp | 2 +- .../asio/detail/impl/win_iocp_io_service.hpp | 4 +- .../asio/detail/impl/win_iocp_io_service.ipp | 10 +- .../impl/win_iocp_serial_port_service.ipp | 2 +- .../impl/win_iocp_socket_service_base.ipp | 2 +- include/boost/asio/detail/impl/win_mutex.ipp | 2 +- .../detail/impl/win_object_handle_service.ipp | 446 ++ .../asio/detail/impl/win_static_mutex.ipp | 2 +- include/boost/asio/detail/impl/win_thread.ipp | 2 +- .../boost/asio/detail/impl/win_tss_ptr.ipp | 2 +- .../boost/asio/detail/impl/winsock_init.ipp | 2 +- include/boost/asio/detail/io_control.hpp | 2 +- include/boost/asio/detail/kqueue_reactor.hpp | 6 +- .../boost/asio/detail/kqueue_reactor_fwd.hpp | 2 +- .../asio/detail/local_free_on_block_exit.hpp | 2 +- .../boost/asio/detail/macos_fenced_block.hpp | 2 +- include/boost/asio/detail/mutex.hpp | 2 +- include/boost/asio/detail/noncopyable.hpp | 2 +- include/boost/asio/detail/null_event.hpp | 2 +- .../boost/asio/detail/null_fenced_block.hpp | 2 +- include/boost/asio/detail/null_mutex.hpp | 2 +- .../boost/asio/detail/null_signal_blocker.hpp | 2 +- .../boost/asio/detail/null_static_mutex.hpp | 2 +- include/boost/asio/detail/null_thread.hpp | 2 +- include/boost/asio/detail/null_tss_ptr.hpp | 2 +- include/boost/asio/detail/object_pool.hpp | 2 +- .../boost/asio/detail/old_win_sdk_compat.hpp | 2 +- include/boost/asio/detail/op_queue.hpp | 2 +- include/boost/asio/detail/operation.hpp | 2 +- .../asio/detail/pipe_select_interrupter.hpp | 2 +- include/boost/asio/detail/pop_options.hpp | 2 +- include/boost/asio/detail/posix_event.hpp | 2 +- .../asio/detail/posix_fd_set_adapter.hpp | 2 +- include/boost/asio/detail/posix_mutex.hpp | 2 +- .../asio/detail/posix_signal_blocker.hpp | 2 +- .../boost/asio/detail/posix_static_mutex.hpp | 2 +- include/boost/asio/detail/posix_thread.hpp | 2 +- include/boost/asio/detail/posix_tss_ptr.hpp | 2 +- include/boost/asio/detail/push_options.hpp | 2 +- .../detail/reactive_descriptor_service.hpp | 2 +- .../asio/detail/reactive_null_buffers_op.hpp | 2 +- .../detail/reactive_serial_port_service.hpp | 2 +- .../asio/detail/reactive_socket_accept_op.hpp | 2 +- .../detail/reactive_socket_connect_op.hpp | 2 +- .../asio/detail/reactive_socket_recv_op.hpp | 2 +- .../detail/reactive_socket_recvfrom_op.hpp | 2 +- .../detail/reactive_socket_recvmsg_op.hpp | 2 +- .../asio/detail/reactive_socket_send_op.hpp | 2 +- .../asio/detail/reactive_socket_sendto_op.hpp | 2 +- .../asio/detail/reactive_socket_service.hpp | 2 +- .../detail/reactive_socket_service_base.hpp | 2 +- include/boost/asio/detail/reactor.hpp | 2 +- include/boost/asio/detail/reactor_fwd.hpp | 2 +- include/boost/asio/detail/reactor_op.hpp | 2 +- .../boost/asio/detail/reactor_op_queue.hpp | 2 +- include/boost/asio/detail/regex_fwd.hpp | 2 +- .../boost/asio/detail/resolve_endpoint_op.hpp | 2 +- include/boost/asio/detail/resolve_op.hpp | 2 +- .../boost/asio/detail/resolver_service.hpp | 2 +- .../asio/detail/resolver_service_base.hpp | 2 +- include/boost/asio/detail/scoped_lock.hpp | 2 +- include/boost/asio/detail/scoped_ptr.hpp | 2 +- .../boost/asio/detail/select_interrupter.hpp | 2 +- include/boost/asio/detail/select_reactor.hpp | 6 +- .../boost/asio/detail/select_reactor_fwd.hpp | 2 +- .../boost/asio/detail/service_registry.hpp | 2 +- .../asio/detail/service_registry_fwd.hpp | 2 +- include/boost/asio/detail/shared_ptr.hpp | 2 +- include/boost/asio/detail/signal_blocker.hpp | 2 +- include/boost/asio/detail/signal_handler.hpp | 2 +- include/boost/asio/detail/signal_init.hpp | 2 +- include/boost/asio/detail/signal_op.hpp | 2 +- .../boost/asio/detail/signal_set_service.hpp | 2 +- include/boost/asio/detail/socket_holder.hpp | 2 +- include/boost/asio/detail/socket_ops.hpp | 2 +- include/boost/asio/detail/socket_option.hpp | 2 +- .../asio/detail/socket_select_interrupter.hpp | 2 +- include/boost/asio/detail/socket_types.hpp | 2 +- .../asio/detail/solaris_fenced_block.hpp | 2 +- include/boost/asio/detail/static_mutex.hpp | 2 +- include/boost/asio/detail/strand_service.hpp | 2 +- include/boost/asio/detail/task_io_service.hpp | 4 +- .../boost/asio/detail/task_io_service_fwd.hpp | 2 +- .../asio/detail/task_io_service_operation.hpp | 2 +- include/boost/asio/detail/thread.hpp | 2 +- include/boost/asio/detail/throw_error.hpp | 2 +- include/boost/asio/detail/timer_queue.hpp | 139 +- .../boost/asio/detail/timer_queue_base.hpp | 2 +- include/boost/asio/detail/timer_queue_fwd.hpp | 2 +- .../boost/asio/detail/timer_queue_ptime.hpp | 91 + include/boost/asio/detail/timer_queue_set.hpp | 2 +- include/boost/asio/detail/timer_scheduler.hpp | 2 +- .../boost/asio/detail/timer_scheduler_fwd.hpp | 2 +- include/boost/asio/detail/tss_ptr.hpp | 2 +- include/boost/asio/detail/wait_handler.hpp | 9 +- .../asio/detail/{timer_op.hpp => wait_op.hpp} | 16 +- include/boost/asio/detail/weak_ptr.hpp | 2 +- include/boost/asio/detail/win_event.hpp | 2 +- .../boost/asio/detail/win_fd_set_adapter.hpp | 2 +- .../boost/asio/detail/win_fenced_block.hpp | 2 +- .../asio/detail/win_iocp_handle_read_op.hpp | 2 +- .../asio/detail/win_iocp_handle_service.hpp | 2 +- .../asio/detail/win_iocp_handle_write_op.hpp | 2 +- .../boost/asio/detail/win_iocp_io_service.hpp | 10 +- .../asio/detail/win_iocp_io_service_fwd.hpp | 2 +- .../asio/detail/win_iocp_null_buffers_op.hpp | 2 +- .../boost/asio/detail/win_iocp_operation.hpp | 3 +- .../asio/detail/win_iocp_overlapped_op.hpp | 2 +- .../asio/detail/win_iocp_overlapped_ptr.hpp | 2 +- .../detail/win_iocp_serial_port_service.hpp | 2 +- .../asio/detail/win_iocp_socket_accept_op.hpp | 2 +- .../asio/detail/win_iocp_socket_recv_op.hpp | 2 +- .../detail/win_iocp_socket_recvfrom_op.hpp | 2 +- .../detail/win_iocp_socket_recvmsg_op.hpp | 2 +- .../asio/detail/win_iocp_socket_send_op.hpp | 2 +- .../asio/detail/win_iocp_socket_service.hpp | 2 +- .../detail/win_iocp_socket_service_base.hpp | 2 +- include/boost/asio/detail/win_mutex.hpp | 2 +- .../asio/detail/win_object_handle_service.hpp | 185 + .../boost/asio/detail/win_static_mutex.hpp | 2 +- include/boost/asio/detail/win_thread.hpp | 2 +- include/boost/asio/detail/win_tss_ptr.hpp | 2 +- include/boost/asio/detail/wince_thread.hpp | 2 +- include/boost/asio/detail/winsock_init.hpp | 2 +- include/boost/asio/detail/wrapped_handler.hpp | 2 +- include/boost/asio/error.hpp | 2 +- include/boost/asio/handler_alloc_hook.hpp | 2 +- include/boost/asio/handler_invoke_hook.hpp | 2 +- include/boost/asio/high_resolution_timer.hpp | 65 + include/boost/asio/impl/connect.hpp | 2 +- include/boost/asio/impl/error.ipp | 2 +- include/boost/asio/impl/io_service.hpp | 2 +- include/boost/asio/impl/io_service.ipp | 2 +- include/boost/asio/impl/read.hpp | 2 +- include/boost/asio/impl/read_at.hpp | 2 +- include/boost/asio/impl/read_until.hpp | 2 +- include/boost/asio/impl/serial_port_base.hpp | 2 +- include/boost/asio/impl/serial_port_base.ipp | 2 +- include/boost/asio/impl/src.cpp | 2 +- include/boost/asio/impl/src.hpp | 5 +- include/boost/asio/impl/write.hpp | 2 +- include/boost/asio/impl/write_at.hpp | 2 +- include/boost/asio/io_service.hpp | 2 +- include/boost/asio/ip/address.hpp | 2 +- include/boost/asio/ip/address_v4.hpp | 2 +- include/boost/asio/ip/address_v6.hpp | 2 +- include/boost/asio/ip/basic_endpoint.hpp | 2 +- include/boost/asio/ip/basic_resolver.hpp | 2 +- .../boost/asio/ip/basic_resolver_entry.hpp | 2 +- .../boost/asio/ip/basic_resolver_iterator.hpp | 2 +- .../boost/asio/ip/basic_resolver_query.hpp | 2 +- include/boost/asio/ip/detail/endpoint.hpp | 2 +- .../boost/asio/ip/detail/impl/endpoint.ipp | 2 +- .../boost/asio/ip/detail/socket_option.hpp | 2 +- include/boost/asio/ip/host_name.hpp | 2 +- include/boost/asio/ip/icmp.hpp | 2 +- include/boost/asio/ip/impl/address.hpp | 2 +- include/boost/asio/ip/impl/address.ipp | 2 +- include/boost/asio/ip/impl/address_v4.hpp | 2 +- include/boost/asio/ip/impl/address_v4.ipp | 2 +- include/boost/asio/ip/impl/address_v6.hpp | 2 +- include/boost/asio/ip/impl/address_v6.ipp | 2 +- include/boost/asio/ip/impl/basic_endpoint.hpp | 2 +- include/boost/asio/ip/impl/host_name.ipp | 2 +- include/boost/asio/ip/multicast.hpp | 2 +- include/boost/asio/ip/resolver_query_base.hpp | 2 +- include/boost/asio/ip/resolver_service.hpp | 2 +- include/boost/asio/ip/tcp.hpp | 2 +- include/boost/asio/ip/udp.hpp | 2 +- include/boost/asio/ip/unicast.hpp | 2 +- include/boost/asio/ip/v6_only.hpp | 2 +- include/boost/asio/is_read_buffered.hpp | 2 +- include/boost/asio/is_write_buffered.hpp | 2 +- include/boost/asio/local/basic_endpoint.hpp | 2 +- include/boost/asio/local/connect_pair.hpp | 2 +- .../boost/asio/local/datagram_protocol.hpp | 2 +- include/boost/asio/local/detail/endpoint.hpp | 2 +- .../boost/asio/local/detail/impl/endpoint.ipp | 2 +- include/boost/asio/local/stream_protocol.hpp | 2 +- include/boost/asio/placeholders.hpp | 2 +- include/boost/asio/posix/basic_descriptor.hpp | 2 +- .../asio/posix/basic_stream_descriptor.hpp | 2 +- include/boost/asio/posix/descriptor_base.hpp | 2 +- .../boost/asio/posix/stream_descriptor.hpp | 2 +- .../asio/posix/stream_descriptor_service.hpp | 2 +- include/boost/asio/raw_socket_service.hpp | 2 +- include/boost/asio/read.hpp | 2 +- include/boost/asio/read_at.hpp | 2 +- include/boost/asio/read_until.hpp | 2 +- .../boost/asio/seq_packet_socket_service.hpp | 2 +- include/boost/asio/serial_port.hpp | 2 +- include/boost/asio/serial_port_base.hpp | 2 +- include/boost/asio/serial_port_service.hpp | 2 +- include/boost/asio/signal_set.hpp | 2 +- include/boost/asio/signal_set_service.hpp | 2 +- .../boost/asio/socket_acceptor_service.hpp | 2 +- include/boost/asio/socket_base.hpp | 2 +- include/boost/asio/ssl.hpp | 2 +- include/boost/asio/ssl/basic_context.hpp | 2 +- include/boost/asio/ssl/context.hpp | 2 +- include/boost/asio/ssl/context_base.hpp | 2 +- include/boost/asio/ssl/context_service.hpp | 2 +- include/boost/asio/ssl/detail/engine.hpp | 2 +- .../boost/asio/ssl/detail/handshake_op.hpp | 2 +- include/boost/asio/ssl/detail/impl/engine.ipp | 2 +- .../asio/ssl/detail/impl/openssl_init.ipp | 2 +- include/boost/asio/ssl/detail/io.hpp | 2 +- .../boost/asio/ssl/detail/openssl_init.hpp | 2 +- .../boost/asio/ssl/detail/openssl_types.hpp | 2 +- .../asio/ssl/detail/password_callback.hpp | 2 +- include/boost/asio/ssl/detail/read_op.hpp | 2 +- include/boost/asio/ssl/detail/shutdown_op.hpp | 2 +- include/boost/asio/ssl/detail/stream_core.hpp | 2 +- .../boost/asio/ssl/detail/verify_callback.hpp | 2 +- include/boost/asio/ssl/detail/write_op.hpp | 2 +- include/boost/asio/ssl/error.hpp | 2 +- include/boost/asio/ssl/impl/context.hpp | 2 +- include/boost/asio/ssl/impl/context.ipp | 2 +- include/boost/asio/ssl/impl/error.ipp | 2 +- .../asio/ssl/impl/rfc2818_verification.ipp | 2 +- include/boost/asio/ssl/impl/src.hpp | 2 +- include/boost/asio/ssl/old/basic_context.hpp | 2 +- .../boost/asio/ssl/old/context_service.hpp | 2 +- .../old/detail/openssl_context_service.hpp | 2 +- .../ssl/old/detail/openssl_stream_service.hpp | 2 +- include/boost/asio/ssl/old/stream.hpp | 2 +- include/boost/asio/ssl/old/stream_service.hpp | 2 +- .../boost/asio/ssl/rfc2818_verification.hpp | 2 +- include/boost/asio/ssl/stream.hpp | 2 +- include/boost/asio/ssl/stream_base.hpp | 2 +- include/boost/asio/ssl/stream_service.hpp | 2 +- include/boost/asio/ssl/verify_context.hpp | 2 +- include/boost/asio/ssl/verify_mode.hpp | 2 +- include/boost/asio/steady_timer.hpp | 63 + include/boost/asio/strand.hpp | 2 +- include/boost/asio/stream_socket_service.hpp | 2 +- include/boost/asio/streambuf.hpp | 2 +- include/boost/asio/system_timer.hpp | 59 + include/boost/asio/time_traits.hpp | 2 +- include/boost/asio/version.hpp | 4 +- include/boost/asio/wait_traits.hpp | 43 + include/boost/asio/waitable_timer_service.hpp | 161 + include/boost/asio/windows/basic_handle.hpp | 4 +- .../asio/windows/basic_object_handle.hpp | 177 + .../windows/basic_random_access_handle.hpp | 2 +- .../asio/windows/basic_stream_handle.hpp | 2 +- include/boost/asio/windows/object_handle.hpp | 40 + .../asio/windows/object_handle_service.hpp | 170 + include/boost/asio/windows/overlapped_ptr.hpp | 2 +- .../asio/windows/random_access_handle.hpp | 2 +- .../windows/random_access_handle_service.hpp | 2 +- include/boost/asio/windows/stream_handle.hpp | 2 +- .../asio/windows/stream_handle_service.hpp | 2 +- include/boost/asio/write.hpp | 2 +- include/boost/asio/write_at.hpp | 2 +- test/Jamfile | 2 +- test/Jamfile.v2 | 20 +- test/archetypes/gettable_socket_option.hpp | 2 +- test/archetypes/io_control_command.hpp | 2 +- test/archetypes/settable_socket_option.hpp | 2 +- test/basic_datagram_socket.cpp | 2 +- test/basic_deadline_timer.cpp | 2 +- test/basic_raw_socket.cpp | 2 +- test/basic_seq_packet_socket.cpp | 2 +- test/basic_serial_port.cpp | 2 +- test/basic_signal_set.cpp | 2 +- test/basic_socket_acceptor.cpp | 2 +- test/basic_stream_socket.cpp | 2 +- test/basic_streambuf.cpp | 2 +- test/basic_waitable_timer.cpp | 26 + test/buffer.cpp | 2 +- test/buffered_read_stream.cpp | 2 +- test/buffered_stream.cpp | 2 +- test/buffered_write_stream.cpp | 2 +- test/buffers_iterator.cpp | 2 +- test/completion_condition.cpp | 2 +- test/connect.cpp | 2 +- test/datagram_socket_service.cpp | 2 +- test/deadline_timer.cpp | 2 +- test/deadline_timer_service.cpp | 2 +- test/error.cpp | 2 +- test/high_resolution_timer.cpp | 31 + test/io_service.cpp | 2 +- test/ip/address.cpp | 2 +- test/ip/address_v4.cpp | 2 +- test/ip/address_v6.cpp | 2 +- test/ip/basic_endpoint.cpp | 2 +- test/ip/basic_resolver.cpp | 2 +- test/ip/basic_resolver_entry.cpp | 2 +- test/ip/basic_resolver_iterator.cpp | 2 +- test/ip/basic_resolver_query.cpp | 2 +- test/ip/host_name.cpp | 2 +- test/ip/multicast.cpp | 2 +- test/ip/resolver_query_base.cpp | 2 +- test/ip/resolver_service.cpp | 2 +- test/ip/tcp.cpp | 2 +- test/ip/udp.cpp | 2 +- test/ip/unicast.cpp | 2 +- test/ip/v6_only.cpp | 2 +- test/is_read_buffered.cpp | 2 +- test/is_write_buffered.cpp | 2 +- test/latency/Jamfile.v2 | 2 +- test/latency/allocator.hpp | 2 +- test/latency/coroutine.hpp | 2 +- test/latency/high_res_clock.hpp | 2 +- test/latency/tcp_client.cpp | 2 +- test/latency/tcp_server.cpp | 2 +- test/latency/udp_client.cpp | 2 +- test/latency/udp_server.cpp | 2 +- test/latency/unyield.hpp | 2 +- test/latency/yield.hpp | 2 +- test/local/basic_endpoint.cpp | 2 +- test/local/connect_pair.cpp | 2 +- test/local/datagram_protocol.cpp | 2 +- test/local/stream_protocol.cpp | 2 +- test/placeholders.cpp | 2 +- test/posix/basic_descriptor.cpp | 2 +- test/posix/basic_stream_descriptor.cpp | 2 +- test/posix/descriptor_base.cpp | 2 +- test/posix/stream_descriptor.cpp | 2 +- test/posix/stream_descriptor_service.cpp | 2 +- test/raw_socket_service.cpp | 2 +- test/read.cpp | 2 +- test/read_at.cpp | 2 +- test/read_until.cpp | 2 +- test/seq_packet_socket_service.cpp | 2 +- test/serial_port.cpp | 2 +- test/serial_port_base.cpp | 2 +- test/serial_port_service.cpp | 2 +- test/signal_set.cpp | 2 +- test/signal_set_service.cpp | 2 +- test/socket_acceptor_service.cpp | 2 +- test/socket_base.cpp | 2 +- test/ssl/Jamfile | 2 +- test/ssl/Jamfile.v2 | 2 +- test/ssl/basic_context.cpp | 2 +- test/ssl/context.cpp | 2 +- test/ssl/context_base.cpp | 2 +- test/ssl/context_service.cpp | 2 +- test/ssl/rfc2818_verification.cpp | 2 +- test/ssl/stream.cpp | 2 +- test/ssl/stream_base.cpp | 2 +- test/ssl/stream_service.cpp | 2 +- test/steady_timer.cpp | 31 + test/strand.cpp | 2 +- test/stream_socket_service.cpp | 2 +- test/streambuf.cpp | 2 +- test/system_timer.cpp | 31 + test/time_traits.cpp | 2 +- test/unit_test.hpp | 2 +- test/wait_traits.cpp | 26 + test/waitable_timer_service.cpp | 26 + test/windows/basic_handle.cpp | 2 +- test/windows/basic_object_handle.cpp | 27 + test/windows/basic_random_access_handle.cpp | 2 +- test/windows/basic_stream_handle.cpp | 2 +- test/windows/object_handle.cpp | 117 + test/windows/object_handle_service.cpp | 27 + test/windows/overlapped_ptr.cpp | 2 +- test/windows/random_access_handle.cpp | 2 +- test/windows/random_access_handle_service.cpp | 2 +- test/windows/stream_handle.cpp | 2 +- test/windows/stream_handle_service.cpp | 2 +- test/write.cpp | 2 +- test/write_at.cpp | 2 +- 744 files changed, 8201 insertions(+), 877 deletions(-) create mode 100644 doc/requirements/ObjectHandleService.qbk create mode 100644 doc/requirements/WaitTraits.qbk create mode 100644 doc/requirements/WaitableTimerService.qbk create mode 100644 include/boost/asio/basic_waitable_timer.hpp create mode 100644 include/boost/asio/detail/chrono_time_traits.hpp create mode 100644 include/boost/asio/detail/date_time_fwd.hpp create mode 100644 include/boost/asio/detail/impl/timer_queue_ptime.ipp create mode 100644 include/boost/asio/detail/impl/win_object_handle_service.ipp create mode 100644 include/boost/asio/detail/timer_queue_ptime.hpp rename include/boost/asio/detail/{timer_op.hpp => wait_op.hpp} (73%) create mode 100644 include/boost/asio/detail/win_object_handle_service.hpp create mode 100644 include/boost/asio/high_resolution_timer.hpp create mode 100644 include/boost/asio/steady_timer.hpp create mode 100644 include/boost/asio/system_timer.hpp create mode 100644 include/boost/asio/wait_traits.hpp create mode 100644 include/boost/asio/waitable_timer_service.hpp create mode 100644 include/boost/asio/windows/basic_object_handle.hpp create mode 100644 include/boost/asio/windows/object_handle.hpp create mode 100644 include/boost/asio/windows/object_handle_service.hpp create mode 100644 test/basic_waitable_timer.cpp create mode 100644 test/high_resolution_timer.cpp create mode 100644 test/steady_timer.cpp create mode 100644 test/system_timer.cpp create mode 100644 test/wait_traits.cpp create mode 100644 test/waitable_timer_service.cpp create mode 100644 test/windows/basic_object_handle.cpp create mode 100644 test/windows/object_handle.cpp create mode 100644 test/windows/object_handle_service.cpp diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 68bd119b..42892592 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -1,5 +1,5 @@ # -# Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) +# Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) # # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/asio.qbk b/doc/asio.qbk index 0a9ddfab..aba65f9c 100644 --- a/doc/asio.qbk +++ b/doc/asio.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -7,7 +7,7 @@ [library Boost.Asio [quickbook 1.4] - [copyright 2003 - 2011 Christopher M. Kohlhoff] + [copyright 2003 - 2012 Christopher M. Kohlhoff] [purpose Networking library] [license Distributed under the Boost Software License, Version 1.0. diff --git a/doc/doxy2qbk.pl b/doc/doxy2qbk.pl index 897b7253..4340250a 100644 --- a/doc/doxy2qbk.pl +++ b/doc/doxy2qbk.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl -w -# Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) +# Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) # # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/examples.qbk b/doc/examples.qbk index 04288495..bd55e339 100644 --- a/doc/examples.qbk +++ b/doc/examples.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/history.qbk b/doc/history.qbk index 1e1dcfaf..a7dd1251 100644 --- a/doc/history.qbk +++ b/doc/history.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -7,6 +7,29 @@ [section:history Revision History] +[heading Asio 1.8.0 / Boost 1.49] + +* Added a new class template `basic_waitable_timer` based around the C++11 clock + type requirements. It may be used with the clocks from the C++11 `` + library facility or, if those are not available, Boost.Chrono. The typedefs + `high_resolution_timer`, `steady_timer` and `system_timer` may be used to + create timer objects for the standard clock types. +* Added a new `windows::object_handle` class for performing waits on Windows + kernel objects. Thanks go to Boris Schaeling for contributing substantially + to the development of this feature. +* On Linux, `connect()` can return EAGAIN in certain circumstances. Remapped + this to another error so that it doesn't look like a non-blocking operation + ([@https://svn.boost.org/trac/boost/ticket/6048 #6048]). +* Fixed a compile error on NetBSD + ([@https://svn.boost.org/trac/boost/ticket/6098 #6098]). +* Fixed deadlock on Mac OS X + ([@https://svn.boost.org/trac/boost/ticket/6275 #6275]). +* Fixed a regression in `buffered_write_stream` + ([@https://svn.boost.org/trac/boost/ticket/6310 #6310]). +* Fixed a non-paged pool "leak" on Windows when an `io_service` is repeatedly + run without anything to do + ([@https://svn.boost.org/trac/boost/ticket/6321 #6321]). + [heading Asio 1.6.1 / Boost 1.48] * Implemented various performance improvements, including: diff --git a/doc/index.xml b/doc/index.xml index 00ce855c..beca8d42 100644 --- a/doc/index.xml +++ b/doc/index.xml @@ -2,7 +2,7 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -60,6 +60,7 @@ [include requirements/IoControlCommand.qbk] [include requirements/IoObjectService.qbk] [include requirements/MutableBufferSequence.qbk] +[include requirements/ObjectHandleService.qbk] [include requirements/Protocol.qbk] [include requirements/RandomAccessHandleService.qbk] [include requirements/RawSocketService.qbk] @@ -85,7 +86,9 @@ [include requirements/SyncWriteStream.qbk] [include requirements/TimeTraits.qbk] [include requirements/TimerService.qbk] +[include requirements/WaitableTimerService.qbk] [include requirements/WaitHandler.qbk] +[include requirements/WaitTraits.qbk] [include requirements/WriteHandler.qbk] @@ -732,6 +735,15 @@ [^boost/asio/ssl.hpp] + + None + + + None + + + None + [^boost/asio.hpp] @@ -1405,6 +1417,9 @@ + + + diff --git a/doc/requirements.qbk b/doc/requirements.qbk index 2bcffd5c..3dbae38d 100644 --- a/doc/requirements.qbk +++ b/doc/requirements.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/AcceptHandler.qbk b/doc/requirements/AcceptHandler.qbk index 1e46eda7..ab656383 100644 --- a/doc/requirements/AcceptHandler.qbk +++ b/doc/requirements/AcceptHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/AsyncRandomAccessReadDevice.qbk b/doc/requirements/AsyncRandomAccessReadDevice.qbk index 6a3e180c..1a188780 100644 --- a/doc/requirements/AsyncRandomAccessReadDevice.qbk +++ b/doc/requirements/AsyncRandomAccessReadDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/AsyncRandomAccessWriteDevice.qbk b/doc/requirements/AsyncRandomAccessWriteDevice.qbk index 8f77ef4b..830d4f4e 100644 --- a/doc/requirements/AsyncRandomAccessWriteDevice.qbk +++ b/doc/requirements/AsyncRandomAccessWriteDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/AsyncReadStream.qbk b/doc/requirements/AsyncReadStream.qbk index 2903604b..5878048d 100644 --- a/doc/requirements/AsyncReadStream.qbk +++ b/doc/requirements/AsyncReadStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/AsyncWriteStream.qbk b/doc/requirements/AsyncWriteStream.qbk index 95f7c11c..3e0b76d4 100644 --- a/doc/requirements/AsyncWriteStream.qbk +++ b/doc/requirements/AsyncWriteStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/CompletionHandler.qbk b/doc/requirements/CompletionHandler.qbk index d09680f7..9825d90c 100644 --- a/doc/requirements/CompletionHandler.qbk +++ b/doc/requirements/CompletionHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ComposedConnectHandler.qbk b/doc/requirements/ComposedConnectHandler.qbk index d63446fd..e396b252 100644 --- a/doc/requirements/ComposedConnectHandler.qbk +++ b/doc/requirements/ComposedConnectHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ConnectHandler.qbk b/doc/requirements/ConnectHandler.qbk index 6ef63b6e..26ae272f 100644 --- a/doc/requirements/ConnectHandler.qbk +++ b/doc/requirements/ConnectHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ConstBufferSequence.qbk b/doc/requirements/ConstBufferSequence.qbk index a455c81f..f7094661 100644 --- a/doc/requirements/ConstBufferSequence.qbk +++ b/doc/requirements/ConstBufferSequence.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ConvertibleToConstBuffer.qbk b/doc/requirements/ConvertibleToConstBuffer.qbk index 4b984dbb..5667f47e 100644 --- a/doc/requirements/ConvertibleToConstBuffer.qbk +++ b/doc/requirements/ConvertibleToConstBuffer.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ConvertibleToMutableBuffer.qbk b/doc/requirements/ConvertibleToMutableBuffer.qbk index 0e013222..8b3278b0 100644 --- a/doc/requirements/ConvertibleToMutableBuffer.qbk +++ b/doc/requirements/ConvertibleToMutableBuffer.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/DatagramSocketService.qbk b/doc/requirements/DatagramSocketService.qbk index 1dce9eb4..de033b11 100644 --- a/doc/requirements/DatagramSocketService.qbk +++ b/doc/requirements/DatagramSocketService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/DescriptorService.qbk b/doc/requirements/DescriptorService.qbk index 590164c1..2c3cebd0 100644 --- a/doc/requirements/DescriptorService.qbk +++ b/doc/requirements/DescriptorService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/Endpoint.qbk b/doc/requirements/Endpoint.qbk index 820afdab..9207eb31 100644 --- a/doc/requirements/Endpoint.qbk +++ b/doc/requirements/Endpoint.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/GettableSerialPortOption.qbk b/doc/requirements/GettableSerialPortOption.qbk index 55c44c97..d227e914 100644 --- a/doc/requirements/GettableSerialPortOption.qbk +++ b/doc/requirements/GettableSerialPortOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/GettableSocketOption.qbk b/doc/requirements/GettableSocketOption.qbk index 7fb2c00d..f735d60d 100644 --- a/doc/requirements/GettableSocketOption.qbk +++ b/doc/requirements/GettableSocketOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/HandleService.qbk b/doc/requirements/HandleService.qbk index f8c0d450..c27c2285 100644 --- a/doc/requirements/HandleService.qbk +++ b/doc/requirements/HandleService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/Handler.qbk b/doc/requirements/Handler.qbk index 9b306906..e6fe3dc9 100644 --- a/doc/requirements/Handler.qbk +++ b/doc/requirements/Handler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/HandshakeHandler.qbk b/doc/requirements/HandshakeHandler.qbk index bb648aad..2b130fd2 100644 --- a/doc/requirements/HandshakeHandler.qbk +++ b/doc/requirements/HandshakeHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/InternetProtocol.qbk b/doc/requirements/InternetProtocol.qbk index d1c4725d..dcd2f1c9 100644 --- a/doc/requirements/InternetProtocol.qbk +++ b/doc/requirements/InternetProtocol.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/IoControlCommand.qbk b/doc/requirements/IoControlCommand.qbk index 1315ee4e..8a4f7a99 100644 --- a/doc/requirements/IoControlCommand.qbk +++ b/doc/requirements/IoControlCommand.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/IoObjectService.qbk b/doc/requirements/IoObjectService.qbk index e08ed274..a4afd057 100644 --- a/doc/requirements/IoObjectService.qbk +++ b/doc/requirements/IoObjectService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/MutableBufferSequence.qbk b/doc/requirements/MutableBufferSequence.qbk index d41e2323..4b9ad531 100644 --- a/doc/requirements/MutableBufferSequence.qbk +++ b/doc/requirements/MutableBufferSequence.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ObjectHandleService.qbk b/doc/requirements/ObjectHandleService.qbk new file mode 100644 index 00000000..1003f6d7 --- /dev/null +++ b/doc/requirements/ObjectHandleService.qbk @@ -0,0 +1,46 @@ +[/ + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / + / Distributed under the Boost Software License, Version 1.0. (See accompanying + / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /] + +[section:ObjectHandleService Object handle service requirements] + +An object handle service must meet the requirements for a [link +boost_asio.reference.HandleService handle service], as well as the additional +requirements listed below. + +In the table below, `X` denotes an object handle service class, `a` denotes a +value of type `X`, `b` denotes a value of type `X::implementation_type`, `ec` +denotes a value of type `error_code`, and `wh` denotes a value meeting [link +boost_asio.reference.WaitHandler `WaitHandler`] requirements. + +[table ObjectHandleService requirements + [[expression] [return type] [assertion/note\npre/post-condition]] + [ + [`a.wait(b, ec);`] + [`error_code`] + [ + pre: `a.is_open(b)`.\n + \n + Synchronously waits for the object represented by handle `b` to become + signalled. + ] + ] + [ + [`a.async_wait(b, wh);`] + [`void`] + [ + pre: `a.is_open(b)`.\n + \n + Initiates an asynchronous operation to wait for the object represented by + handle `b` to become signalled. The operation is performed via the + `io_service` object `a.get_io_service()` and behaves according to [link + boost_asio.reference.asynchronous_operations asynchronous operation] + requirements. + ] + ] +] + +[endsect] diff --git a/doc/requirements/Protocol.qbk b/doc/requirements/Protocol.qbk index 5ec2d1a9..1bd31934 100644 --- a/doc/requirements/Protocol.qbk +++ b/doc/requirements/Protocol.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/RandomAccessHandleService.qbk b/doc/requirements/RandomAccessHandleService.qbk index 0169639e..342e7123 100644 --- a/doc/requirements/RandomAccessHandleService.qbk +++ b/doc/requirements/RandomAccessHandleService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/RawSocketService.qbk b/doc/requirements/RawSocketService.qbk index 45f06924..3c2c14de 100644 --- a/doc/requirements/RawSocketService.qbk +++ b/doc/requirements/RawSocketService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ReadHandler.qbk b/doc/requirements/ReadHandler.qbk index ad0125d2..42b43f74 100644 --- a/doc/requirements/ReadHandler.qbk +++ b/doc/requirements/ReadHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ResolveHandler.qbk b/doc/requirements/ResolveHandler.qbk index d6abeddd..aefa15a9 100644 --- a/doc/requirements/ResolveHandler.qbk +++ b/doc/requirements/ResolveHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ResolverService.qbk b/doc/requirements/ResolverService.qbk index d36cb4b4..8183cb61 100644 --- a/doc/requirements/ResolverService.qbk +++ b/doc/requirements/ResolverService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SeqPacketSocketService.qbk b/doc/requirements/SeqPacketSocketService.qbk index 717d856e..c884050f 100644 --- a/doc/requirements/SeqPacketSocketService.qbk +++ b/doc/requirements/SeqPacketSocketService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SerialPortService.qbk b/doc/requirements/SerialPortService.qbk index 41d6125b..d9bb6c78 100644 --- a/doc/requirements/SerialPortService.qbk +++ b/doc/requirements/SerialPortService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/Service.qbk b/doc/requirements/Service.qbk index 058ea1fa..cd394ca9 100644 --- a/doc/requirements/Service.qbk +++ b/doc/requirements/Service.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SettableSerialPortOption.qbk b/doc/requirements/SettableSerialPortOption.qbk index eeb78c6c..330f789c 100644 --- a/doc/requirements/SettableSerialPortOption.qbk +++ b/doc/requirements/SettableSerialPortOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SettableSocketOption.qbk b/doc/requirements/SettableSocketOption.qbk index 4def0364..bd76fd62 100644 --- a/doc/requirements/SettableSocketOption.qbk +++ b/doc/requirements/SettableSocketOption.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/ShutdownHandler.qbk b/doc/requirements/ShutdownHandler.qbk index 1a288851..7eb6b8a0 100644 --- a/doc/requirements/ShutdownHandler.qbk +++ b/doc/requirements/ShutdownHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SignalHandler.qbk b/doc/requirements/SignalHandler.qbk index 36b7e9b3..26c2f9a9 100644 --- a/doc/requirements/SignalHandler.qbk +++ b/doc/requirements/SignalHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SignalSetService.qbk b/doc/requirements/SignalSetService.qbk index f222ee74..db4fc841 100644 --- a/doc/requirements/SignalSetService.qbk +++ b/doc/requirements/SignalSetService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SocketAcceptorService.qbk b/doc/requirements/SocketAcceptorService.qbk index cdef31f0..5d5fd992 100644 --- a/doc/requirements/SocketAcceptorService.qbk +++ b/doc/requirements/SocketAcceptorService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SocketService.qbk b/doc/requirements/SocketService.qbk index 6b68b3ce..7caeb23a 100644 --- a/doc/requirements/SocketService.qbk +++ b/doc/requirements/SocketService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/StreamDescriptorService.qbk b/doc/requirements/StreamDescriptorService.qbk index 63b5d3a2..db58a5dd 100644 --- a/doc/requirements/StreamDescriptorService.qbk +++ b/doc/requirements/StreamDescriptorService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/StreamHandleService.qbk b/doc/requirements/StreamHandleService.qbk index 422aba15..58fb820a 100644 --- a/doc/requirements/StreamHandleService.qbk +++ b/doc/requirements/StreamHandleService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/StreamSocketService.qbk b/doc/requirements/StreamSocketService.qbk index 5ccb6c4f..68762e1f 100644 --- a/doc/requirements/StreamSocketService.qbk +++ b/doc/requirements/StreamSocketService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SyncRandomAccessReadDevice.qbk b/doc/requirements/SyncRandomAccessReadDevice.qbk index 1c8e7677..989d132a 100644 --- a/doc/requirements/SyncRandomAccessReadDevice.qbk +++ b/doc/requirements/SyncRandomAccessReadDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SyncRandomAccessWriteDevice.qbk b/doc/requirements/SyncRandomAccessWriteDevice.qbk index 64dd33bf..65eacd9e 100644 --- a/doc/requirements/SyncRandomAccessWriteDevice.qbk +++ b/doc/requirements/SyncRandomAccessWriteDevice.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SyncReadStream.qbk b/doc/requirements/SyncReadStream.qbk index 52fd9abc..59e58920 100644 --- a/doc/requirements/SyncReadStream.qbk +++ b/doc/requirements/SyncReadStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/SyncWriteStream.qbk b/doc/requirements/SyncWriteStream.qbk index d092dd3f..3500d2c0 100644 --- a/doc/requirements/SyncWriteStream.qbk +++ b/doc/requirements/SyncWriteStream.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/TimeTraits.qbk b/doc/requirements/TimeTraits.qbk index 42a0e02b..956fd8d5 100644 --- a/doc/requirements/TimeTraits.qbk +++ b/doc/requirements/TimeTraits.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/TimerService.qbk b/doc/requirements/TimerService.qbk index d1a82d55..dadca8ed 100644 --- a/doc/requirements/TimerService.qbk +++ b/doc/requirements/TimerService.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/WaitHandler.qbk b/doc/requirements/WaitHandler.qbk index 782a0311..dd3966c6 100644 --- a/doc/requirements/WaitHandler.qbk +++ b/doc/requirements/WaitHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/WaitTraits.qbk b/doc/requirements/WaitTraits.qbk new file mode 100644 index 00000000..1514e3d8 --- /dev/null +++ b/doc/requirements/WaitTraits.qbk @@ -0,0 +1,26 @@ +[/ + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / + / Distributed under the Boost Software License, Version 1.0. (See accompanying + / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /] + +[section:WaitTraits Wait traits requirements] + +In the table below, `X` denotes a wait traits class for clock type `Clock`, +where `Clock` meets the C++11 type requirements for a clock, and `d` denotes +a value of type `Clock::duration`. + +[table WaitTraits requirements + [[expression] [return type] [assertion/note\npre/post-condition]] + [ + [`X::to_wait_duration(d);`] + [`Clock::duration`] + [ + Returns the maximum duration to be used for an individual, + implementation-defined wait operation. + ] + ] +] + +[endsect] diff --git a/doc/requirements/WaitableTimerService.qbk b/doc/requirements/WaitableTimerService.qbk new file mode 100644 index 00000000..ca3aac3f --- /dev/null +++ b/doc/requirements/WaitableTimerService.qbk @@ -0,0 +1,104 @@ +[/ + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / + / Distributed under the Boost Software License, Version 1.0. (See accompanying + / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /] + +[section:WaitableTimerService Waitable timer service requirements] + +A waitable timer service must meet the requirements for an [link +boost_asio.reference.IoObjectService I/O object service], as well as the +additional requirements listed below. + +In the table below, `X` denotes a waitable timer service class for clock type +`Clock`, where `Clock` meets the C++11 clock type requirements, `a` denotes a +value of type `X`, `b` denotes a value of type `X::implementation_type`, `t` +denotes a value of type `Clock::time_point`, `d` denotes a value of type +`Clock::duration`, `e` denotes a value of type `error_code`, and `h` denotes a +value meeting [link boost_asio.reference.WaitHandler `WaitHandler`] requirements. + +[table WaitableTimerService requirements + [[expression] [return type] [assertion/note\npre/post-condition]] + [ + [`a.destroy(b);`] + [] + [ + From [link boost_asio.reference.IoObjectService IoObjectService] + requirements. Implicitly cancels asynchronous wait operations, as if by + calling `a.cancel(b, e)`. + ] + ] + [ + [`` + a.cancel(b, e); + ``] + [`size_t`] + [ + Causes any outstanding asynchronous wait operations to complete as soon + as possible. Handlers for cancelled operations shall be passed the error + code `error::operation_aborted`. Sets `e` to indicate success or failure. + Returns the number of operations that were cancelled. + ] + ] + [ + [`a.expires_at(b);`] + [`Clock::time_point`] + [] + ] + [ + [`` + a.expires_at(b, t, e); + ``] + [`size_t`] + [ + Implicitly cancels asynchronous wait operations, as if by calling + `a.cancel(b, e)`. Returns the number of operations that were cancelled.\n + post: `a.expires_at(b) == t`. + ] + ] + [ + [`a.expires_from_now(b);`] + [`Clock::duration`] + [ + Returns a value equivalent to `a.expires_at(b) - Clock::now()`. + ] + ] + [ + [`` + a.expires_from_now(b, d, e); + ``] + [`size_t`] + [ + Equivalent to `a.expires_at(b, Clock::now() + d, e)`. + ] + ] + [ + [`` + a.wait(b, e); + ``] + [`error_code`] + [ + Sets `e` to indicate success or failure. Returns `e`.\n + post: `!!e || !(Clock::now() < a.expires_at(b))`. + ] + ] + [ + [`` + a.async_wait(b, h); + ``] + [] + [ + Initiates an asynchronous wait operation that is performed via the + `io_service` object `a.get_io_service()` and behaves according to [link + boost_asio.reference.asynchronous_operations asynchronous operation] + requirements.\n + \n + The handler shall be posted for execution only if the condition + `!!ec || !(Clock::now() < a.expires_at(b))` + holds, where `ec` is the error code to be passed to the handler. + ] + ] +] + +[endsect] diff --git a/doc/requirements/WriteHandler.qbk b/doc/requirements/WriteHandler.qbk index fda2524c..a33d2a65 100644 --- a/doc/requirements/WriteHandler.qbk +++ b/doc/requirements/WriteHandler.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/requirements/asynchronous_operations.qbk b/doc/requirements/asynchronous_operations.qbk index 8e8c09b7..b539536a 100644 --- a/doc/requirements/asynchronous_operations.qbk +++ b/doc/requirements/asynchronous_operations.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/std_exception_dox.txt b/doc/std_exception_dox.txt index abd9f825..4e7222bb 100644 --- a/doc/std_exception_dox.txt +++ b/doc/std_exception_dox.txt @@ -1,5 +1,5 @@ // -// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/tutorial.qbk b/doc/tutorial.qbk index 29573b9d..d22631b6 100644 --- a/doc/tutorial.qbk +++ b/doc/tutorial.qbk @@ -1,5 +1,5 @@ [/ - / Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) / / Distributed under the Boost Software License, Version 1.0. (See accompanying / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -142,7 +142,7 @@ Next: [link boost_asio.tutorial.tuttimer2 Timer.2 - Using a timer asynchronously ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -242,7 +242,7 @@ Next: [link boost_asio.tutorial.tuttimer3 Timer.3 - Binding arguments to a handl ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -390,7 +390,7 @@ Next: [link boost_asio.tutorial.tuttimer4 Timer.4 - Using a member function as a ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -551,7 +551,7 @@ Next: [link boost_asio.tutorial.tuttimer5 Timer.5 - Synchronising handlers in mu ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -751,7 +751,7 @@ Previous: [link boost_asio.tutorial.tuttimer4 Timer.4 - Using a member function ``''''''``// timer.cpp ``''''''``// ~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -959,7 +959,7 @@ Next: [link boost_asio.tutorial.tutdaytime2 Daytime.2 - A synchronous TCP daytim ``''''''``// client.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1118,7 +1118,7 @@ Next: [link boost_asio.tutorial.tutdaytime3 Daytime.3 - An asynchronous TCP dayt ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1370,7 +1370,7 @@ Next: [link boost_asio.tutorial.tutdaytime4 Daytime.4 - A synchronous UDP daytim ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1591,7 +1591,7 @@ Next: [link boost_asio.tutorial.tutdaytime5 Daytime.5 - A synchronous UDP daytim ``''''''``// client.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1734,7 +1734,7 @@ Next: [link boost_asio.tutorial.tutdaytime6 Daytime.6 - An asynchronous UDP dayt ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -1952,7 +1952,7 @@ Next: [link boost_asio.tutorial.tutdaytime7 Daytime.7 - A combined TCP/UDP async ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -2231,7 +2231,7 @@ Previous: [link boost_asio.tutorial.tutdaytime6 Daytime.6 - An asynchronous UDP ``''''''``// server.cpp ``''''''``// ~~~~~~~~~~ ``''''''``// - ``''''''``// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) + ``''''''``// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com) ``''''''``// ``''''''``// Distributed under the Boost Software License, Version 1.0. (See accompanying ``''''''``// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/doc/tutorial.xsl b/doc/tutorial.xsl index f99fae61..3b6f530f 100644 --- a/doc/tutorial.xsl +++ b/doc/tutorial.xsl @@ -2,7 +2,7 @@