1. execution_context
execution_context_service_base | execution_context::service: 内部类 |
service_id | execution_context::id: 内部类 |
service_already_exists | std::logic_error |
invalid_service_owner | std::logic_error |
在execution_context中包含私有变量
boost::asio::detail::service_registry* service_registry_
实现Sevice注册,每一个service_registry包含execution_context对象,表示注册的service关联的execution_context。
boost::asio::detail::service_registry,采用单向链表保存全部的execution_context::service
// Mutex to protect access to internal data.
mutable boost::asio::detail::mutex mutex_;
// The owner of this service registry and the services it contains.
execution_context& owner_;
// The first service in the list of contained services.
execution_context::service* first_service_;