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_;