| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- //
- // detail/impl/resolver_service_base.ipp
- // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- //
- // Copyright (c) 2003-2025 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)
- //
- #ifndef BOOST_ASIO_DETAIL_IMPL_RESOLVER_SERVICE_BASE_IPP
- #define BOOST_ASIO_DETAIL_IMPL_RESOLVER_SERVICE_BASE_IPP
- #if defined(_MSC_VER) && (_MSC_VER >= 1200)
- # pragma once
- #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
- #include <boost/asio/detail/config.hpp>
- #include <boost/asio/config.hpp>
- #include <boost/asio/detail/memory.hpp>
- #include <boost/asio/detail/resolver_service_base.hpp>
- #include <boost/asio/detail/push_options.hpp>
- namespace boost {
- namespace asio {
- namespace detail {
- resolver_service_base::resolver_service_base(execution_context& context)
- : thread_pool_(boost::asio::use_service<resolver_thread_pool>(context))
- {
- }
- resolver_service_base::~resolver_service_base()
- {
- }
- void resolver_service_base::construct(
- resolver_service_base::implementation_type& impl)
- {
- impl.reset(static_cast<void*>(0), socket_ops::noop_deleter());
- }
- void resolver_service_base::destroy(
- resolver_service_base::implementation_type& impl)
- {
- BOOST_ASIO_HANDLER_OPERATION((thread_pool_.context(),
- "resolver", &impl, 0, "cancel"));
- impl.reset();
- }
- void resolver_service_base::move_construct(implementation_type& impl,
- implementation_type& other_impl)
- {
- impl = static_cast<implementation_type&&>(other_impl);
- }
- void resolver_service_base::move_assign(implementation_type& impl,
- resolver_service_base&, implementation_type& other_impl)
- {
- destroy(impl);
- impl = static_cast<implementation_type&&>(other_impl);
- }
- void resolver_service_base::cancel(
- resolver_service_base::implementation_type& impl)
- {
- BOOST_ASIO_HANDLER_OPERATION((thread_pool_.context(),
- "resolver", &impl, 0, "cancel"));
- impl.reset(static_cast<void*>(0), socket_ops::noop_deleter());
- }
- } // namespace detail
- } // namespace asio
- } // namespace boost
- #include <boost/asio/detail/pop_options.hpp>
- #endif // BOOST_ASIO_DETAIL_IMPL_RESOLVER_SERVICE_BASE_IPP
|