11 #ifndef ASIO_IO_SERVICE_HPP 12 #define ASIO_IO_SERVICE_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 27 #if defined(ASIO_WINDOWS) || defined(__CYGWIN__) 29 #elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \ 39 template <
typename Service> Service&
use_service(io_service& ios);
40 template <
typename Service>
void add_service(io_service& ios, Service* svc);
41 template <
typename Service>
bool has_service(io_service& ios);
44 #if defined(ASIO_HAS_IOCP) 46 class win_iocp_overlapped_ptr;
189 #if defined(ASIO_HAS_IOCP) 190 friend class detail::win_iocp_overlapped_ptr;
440 template <
typename CompletionHandler>
466 template <typename CompletionHandler>
492 template <typename Handler>
493 #if defined(GENERATING_DOCUMENTATION) 498 wrap(Handler handler);
566 template <
typename Service>
586 template <
typename Service>
598 template <
typename Service>
602 #if defined(ASIO_WINDOWS) || defined(__CYGWIN__) 603 detail::winsock_init<> init_;
604 #elif defined(__sun) || defined(__QNX__) || defined(__hpux) || defined(_AIX) \ 658 void operator=(
const work& other);
693 virtual void shutdown_service() = 0;
707 key() : type_info_(0), id_(0) {}
708 const std::type_info* type_info_;
718 :
public std::logic_error
727 :
public std::logic_error
736 template <
typename Type>
743 template <
typename Type>
752 :
asio::io_service::service(io_service)
757 template <
typename Type>
766 #if defined(ASIO_HEADER_ONLY) 768 #endif // defined(ASIO_HEADER_ONLY) 770 #endif // ASIO_IO_SERVICE_HPP Notify the io_service that the process has forked and is the parent.
Class used to uniquely identify a service.
Provides core I/O functionality.
Class to inform the io_service when it has work to do.
Service & use_service(io_service &ios)
Provides serialised handler execution.
class task_io_service io_service_impl
ASIO_INITFN_RESULT_TYPE(ComposedConnectHandler, void(asio::error_code, Iterator)) async_connect(basic_socket< Protocol
Notify the io_service that the process is about to fork.
Exception thrown when trying to add a duplicate service to an io_service.
void add_service(io_service &ios, Service *svc)
fork_event
Fork-related event notifications.
asio::basic_streambuf< Allocator > CompletionCondition ASIO_MOVE_ARG(ReadHandler) handler)
Class to represent an error code value.
static asio::detail::service_id< Type > id
bool has_service(io_service &ios)
service_base(asio::io_service &io_service)
Base class for all io_service services.