Refine include headers

sdbusplus #includes all of asio.hpp, which causes every single consumer
compile all of asio, just to throw it away afterward.  This is wasteful.

This commit changes sdbusplus to only include the components that it
uses, and (hopefully) decrease the overall project compile times by a
bit.

This commit requires:
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-net-ipmid/+/35718
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-host-ipmid/+/35719
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-objmgr/+/35720

Before the project as a whole will build.

Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: Id6372de936cd2562ff3c96f19f632ccfaa21c14e
diff --git a/include/sdbusplus/asio/connection.hpp b/include/sdbusplus/asio/connection.hpp
index ec07e4e..41f15af 100644
--- a/include/sdbusplus/asio/connection.hpp
+++ b/include/sdbusplus/asio/connection.hpp
@@ -21,7 +21,10 @@
 #define BOOST_COROUTINES_NO_DEPRECATION_WARNING
 #endif
 
-#include <boost/asio.hpp>
+#include <boost/asio/async_result.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/posix/stream_descriptor.hpp>
+#include <boost/asio/post.hpp>
 #include <boost/asio/spawn.hpp>
 #include <boost/callable_traits.hpp>
 #include <sdbusplus/asio/detail/async_send_handler.hpp>
diff --git a/include/sdbusplus/asio/detail/async_send_handler.hpp b/include/sdbusplus/asio/detail/async_send_handler.hpp
index cb91f51..d02075b 100644
--- a/include/sdbusplus/asio/detail/async_send_handler.hpp
+++ b/include/sdbusplus/asio/detail/async_send_handler.hpp
@@ -17,7 +17,7 @@
 
 #include <systemd/sd-bus.h>
 
-#include <boost/asio.hpp>
+#include <boost/system/error_code.hpp>
 #include <sdbusplus/bus.hpp>
 #include <sdbusplus/message.hpp>
 
diff --git a/include/sdbusplus/asio/sd_event.hpp b/include/sdbusplus/asio/sd_event.hpp
index 14ade7c..64523a7 100644
--- a/include/sdbusplus/asio/sd_event.hpp
+++ b/include/sdbusplus/asio/sd_event.hpp
@@ -17,7 +17,9 @@
 
 #include <systemd/sd-event.h>
 
-#include <boost/asio.hpp>
+#include <boost/asio/io_context.hpp>
+#include <boost/asio/posix/stream_descriptor.hpp>
+#include <boost/system/error_code.hpp>
 
 namespace sdbusplus
 {
diff --git a/test/bus/aio.cpp b/test/bus/aio.cpp
index e1f4d4e..f97b26d 100644
--- a/test/bus/aio.cpp
+++ b/test/bus/aio.cpp
@@ -1,3 +1,4 @@
+#include <boost/asio/io_service.hpp>
 #include <sdbusplus/asio/object_server.hpp>
 #include <sdbusplus/bus.hpp>