]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/beast/test/beast/core/flat_stream.cpp
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / beast / test / beast / core / flat_stream.cpp
index d2ce65faa9955ddfa350344f89ce19918ce69e7e..f6b18ecb7f2c7d6eecff499a1762b035171edcb0 100644 (file)
@@ -17,6 +17,9 @@
 #include <boost/beast/core/role.hpp>
 #include <initializer_list>
 #include <vector>
+#if BOOST_ASIO_HAS_CO_AWAIT
+#include <boost/asio/use_awaitable.hpp>
+#endif
 
 namespace boost {
 namespace beast {
@@ -208,11 +211,30 @@ public:
         check({1,2,3,4},    3,    3, true);
     }
 
+#if BOOST_ASIO_HAS_CO_AWAIT
+    void testAwaitableCompiles(
+        flat_stream<test::stream>& stream,
+        net::mutable_buffer rxbuf,
+        net::const_buffer txbuf)
+    {
+        static_assert(std::is_same_v<
+            net::awaitable<std::size_t>, decltype(
+            stream.async_read_some(rxbuf, net::use_awaitable))>);
+
+        static_assert(std::is_same_v<
+            net::awaitable<std::size_t>, decltype(
+            stream.async_write_some(txbuf, net::use_awaitable))>);
+    }
+#endif
+
     void
     run() override
     {
         testMembers();
         testSplit();
+#if BOOST_ASIO_HAS_CO_AWAIT
+    boost::ignore_unused(&flat_stream_test::testAwaitableCompiles);
+#endif
     }
 };