11 #ifndef ASIO_DETAIL_RESOLVER_SERVICE_BASE_HPP 12 #define ASIO_DETAIL_RESOLVER_SERVICE_BASE_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 18 #include "asio/detail/config.hpp" 19 #include "asio/error.hpp" 20 #include "asio/execution_context.hpp" 21 #include "asio/detail/mutex.hpp" 22 #include "asio/detail/noncopyable.hpp" 23 #include "asio/detail/resolve_op.hpp" 24 #include "asio/detail/socket_ops.hpp" 25 #include "asio/detail/socket_types.hpp" 26 #include "asio/detail/scoped_ptr.hpp" 27 #include "asio/detail/thread.hpp" 29 #if defined(ASIO_HAS_IOCP) 30 # include "asio/detail/win_iocp_io_context.hpp" 31 #else // defined(ASIO_HAS_IOCP) 32 # include "asio/detail/scheduler.hpp" 33 #endif // defined(ASIO_HAS_IOCP) 35 #include "asio/detail/push_options.hpp" 45 typedef socket_ops::shared_cancel_token_type implementation_type;
51 ASIO_DECL ~resolver_service_base();
54 ASIO_DECL
void base_shutdown();
57 ASIO_DECL
void base_notify_fork(
61 ASIO_DECL
void construct(implementation_type& impl);
64 ASIO_DECL
void destroy(implementation_type&);
67 ASIO_DECL
void move_construct(implementation_type& impl,
68 implementation_type& other_impl);
71 ASIO_DECL
void move_assign(implementation_type& impl,
72 resolver_service_base& other_service,
73 implementation_type& other_impl);
76 void converting_move_construct(implementation_type& impl,
77 resolver_service_base&, implementation_type& other_impl)
79 move_construct(impl, other_impl);
83 void converting_move_assign(implementation_type& impl,
84 resolver_service_base& other_service,
85 implementation_type& other_impl)
87 move_assign(impl, other_service, other_impl);
91 ASIO_DECL
void cancel(implementation_type& impl);
95 ASIO_DECL
void start_resolve_op(
resolve_op* op);
97 #if !defined(ASIO_WINDOWS_RUNTIME) 111 socket_ops::freeaddrinfo(ai_);
114 operator asio::detail::addrinfo_type*()
120 asio::detail::addrinfo_type* ai_;
122 #endif // !defined(ASIO_WINDOWS_RUNTIME) 128 ASIO_DECL
void start_work_thread();
131 #if defined(ASIO_HAS_IOCP) 132 typedef class win_iocp_io_context scheduler_impl;
136 scheduler_impl& scheduler_;
152 #include "asio/detail/pop_options.hpp" 154 #if defined(ASIO_HEADER_ONLY) 155 # include "asio/detail/impl/resolver_service_base.ipp" 156 #endif // defined(ASIO_HEADER_ONLY) 158 #endif // ASIO_DETAIL_RESOLVER_SERVICE_BASE_HPP Definition: null_mutex.hpp:30
Definition: resolve_op.hpp:27
Definition: noncopyable.hpp:25
A context for function object execution.
Definition: execution_context.hpp:105
Definition: resolver_service_base.ipp:26
fork_event
Fork-related event notifications.
Definition: execution_context.hpp:142
Definition: resolver_service_base.hpp:40
Definition: resolver_service_base.hpp:99
Definition: any_io_executor.hpp:28
Definition: scheduler.hpp:38