#include "cls/lock/cls_lock_client.h"
#include <memory>
#include <boost/algorithm/hex.hpp>
+#include <boost/asio/basic_waitable_timer.hpp>
+#include <boost/asio/executor_work_guard.hpp>
+#include <boost/asio/io_context.hpp>
#include <boost/context/protected_fixedsize_stack.hpp>
#include <spawn/spawn.hpp>
#include "rgw_sal_rados.h"
#include <thread>
#include <vector>
-#include <boost/asio.hpp>
+#include <boost/asio/error.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/ip/v6_only.hpp>
+#include <boost/asio/read.hpp>
+#include <boost/asio/write.hpp>
+
#include <boost/intrusive/list.hpp>
#include <boost/smart_ptr/intrusive_ref_counter.hpp>
#pragma push_macro("_ASSERT_H")
#endif
-#include <boost/asio.hpp>
+#include <boost/asio/coroutine.hpp>
#include <boost/intrusive_ptr.hpp>
#ifdef NEED_ASSERT_H
#include "common/async/completion.h"
-#include <boost/asio.hpp>
+#include <boost/asio/basic_waitable_timer.hpp>
+#include <boost/asio/io_context.hpp>
#include "rgw_dmclock_scheduler.h"
#include "rgw_dmclock_scheduler_ctx.h"
*/
#include "common/async/shared_mutex.h"
+#include <future>
#include <optional>
+#include <boost/asio/bind_executor.hpp>
+#include <boost/asio/io_context.hpp>
#include <gtest/gtest.h>
namespace ceph::async {
#include "random"
#include <cstdlib>
#include <string>
-#include <boost/asio.hpp>
-#include <spawn/spawn.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/executor_work_guard.hpp>
#include <boost/asio/steady_timer.hpp>
+#include <spawn/spawn.hpp>
#include <chrono>
#include <mutex>
#include <unordered_map>
#include <optional>
#include <thread>
+#include <boost/asio/basic_waitable_timer.hpp>
+#include <boost/asio/error.hpp>
+#include <boost/asio/executor_work_guard.hpp>
+#include <boost/asio/io_context.hpp>
#include "include/scope_guard.h"
#include <spawn/spawn.hpp>