]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/beast/test/beast/websocket/stream.cpp
2 // Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 // Official repository: https://github.com/boostorg/beast
10 // Test that header file is self-contained.
11 #include <boost/beast/websocket/stream.hpp>
13 #include <boost/beast/core/tcp_stream.hpp>
14 #include <boost/asio/strand.hpp>
22 class stream_test
: public websocket_test_suite
29 stream
<test::stream
> ws(ioc
);
33 stream_base::decorator(
39 stream_base::decorator(
47 stream_base::timeout::suggested(
51 stream_base::timeout::suggested(
55 std::chrono::seconds(30),
56 std::chrono::seconds(300),
59 stream_base::timeout opt
;
73 stream
<test::stream
> ws
{ioc_
};
74 ws
.auto_fragment(true);
75 ws
.write_buffer_bytes(2048);
77 ws
.read_message_max(1 * 1024 * 1024);
80 ws
.write_buffer_bytes(7);
83 catch(std::exception
const&)
89 ws
.secure_prng(false);
92 [&](permessage_deflate
const& pmd
)
94 stream
<test::stream
> ws
{ioc_
};
98 fail("", __FILE__
, __LINE__
);
100 catch(std::exception
const&)
107 permessage_deflate pmd
;
108 pmd
.server_max_window_bits
= 16;
113 permessage_deflate pmd
;
114 pmd
.server_max_window_bits
= 8;
119 permessage_deflate pmd
;
120 pmd
.client_max_window_bits
= 16;
125 permessage_deflate pmd
;
126 pmd
.client_max_window_bits
= 8;
131 permessage_deflate pmd
;
137 permessage_deflate pmd
;
143 permessage_deflate pmd
;
149 permessage_deflate pmd
;
160 websocket::stream
<tcp_stream
> ws
{net::make_strand(ioc
)};
163 websocket::stream
<tcp_stream
> ws(ioc
);
170 BOOST_STATIC_ASSERT(std::is_constructible
<
171 stream
<test::stream
>, net::io_context
&>::value
);
173 BOOST_STATIC_ASSERT(std::is_move_constructible
<
174 stream
<test::stream
>>::value
);
177 BOOST_STATIC_ASSERT(std::is_move_assignable
<
178 stream
<test::stream
>>::value
);
181 BOOST_STATIC_ASSERT(std::is_constructible
<
182 stream
<test::stream
&>, test::stream
&>::value
);
184 // VFALCO Should these be allowed for NextLayer references?
185 BOOST_STATIC_ASSERT(std::is_move_constructible
<
186 stream
<test::stream
&>>::value
);
188 BOOST_STATIC_ASSERT(std::is_move_assignable
<
189 stream
<test::stream
&>>::value
);
192 log
<< "sizeof(websocket::stream) == " <<
193 sizeof(websocket::stream
<test::stream
&>) << std::endl
;
194 log
<< "sizeof(websocket::stream::impl_type) == " <<
195 sizeof(websocket::stream
<test::stream
&>::impl_type
) << std::endl
;
202 BEAST_DEFINE_TESTSUITE(beast
,websocket
,stream
);