buffers_prefix replaces buffer_prefix (API Change)

fix #773

* buffer_prefix is renamed to buffers_prefix
* buffer_prefix_view is renamed to buffers_prefix_view

Actions Required:

* Use buffers_prefix instead of buffer_prefix
* Use buffers_prefix_view instead of buffer_prefix_view
This commit is contained in:
Vinnie Falco
2017-09-15 09:55:03 -07:00
parent 795da80859
commit e94a65b04a
20 changed files with 120 additions and 116 deletions

View File

@ -3,10 +3,14 @@ Version 117:
API Changes: API Changes:
* buffers_suffix replaces consuming_buffers * buffers_suffix replaces consuming_buffers
* buffers_prefix replaces buffer_prefix
* buffers_prefix_view replaces buffer_prefix_view
Actions Required: Actions Required:
* Use buffers_suffix instead of consuming_buffers * Use buffers_suffix instead of consuming_buffers
* Use buffers_prefix instead of buffer_prefix
* Use buffers_prefix_view instead of buffer_prefix_view
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -129,17 +129,17 @@ transferred.
or a buffer of size zero if the buffer sequence has no elements. or a buffer of size zero if the buffer sequence has no elements.
]] ]]
[[ [[
[link beast.ref.boost__beast__buffer_prefix `buffer_prefix`] [link beast.ref.boost__beast__buffers_prefix `buffers_prefix`]
][ ][
This function returns a new buffer or buffer sequence which represents This function returns a new buffer or buffer sequence which represents
a prefix of the original buffers. a prefix of the original buffers.
]] ]]
[[ [[
[link beast.ref.boost__beast__buffer_prefix_view `buffer_prefix_view`] [link beast.ref.boost__beast__buffers_prefix_view `buffers_prefix_view`]
][ ][
This class represents the buffer sequence formed from a prefix of This class represents the buffer sequence formed from a prefix of
an existing buffer sequence. This is the type of buffer returned by an existing buffer sequence. This is the type of buffer returned by
[link beast.ref.boost__beast__buffer_prefix.overload3 `buffer_prefix`]. [link beast.ref.boost__beast__buffers_prefix.overload3 `buffers_prefix`].
]] ]]
[[ [[
[link beast.ref.boost__beast__buffers_suffix `buffers_suffix`] [link beast.ref.boost__beast__buffers_suffix `buffers_suffix`]

View File

@ -180,9 +180,9 @@
<member><link linkend="beast.ref.boost__beast__basic_flat_buffer">basic_flat_buffer</link></member> <member><link linkend="beast.ref.boost__beast__basic_flat_buffer">basic_flat_buffer</link></member>
<member><link linkend="beast.ref.boost__beast__basic_multi_buffer">basic_multi_buffer</link></member> <member><link linkend="beast.ref.boost__beast__basic_multi_buffer">basic_multi_buffer</link></member>
<member><link linkend="beast.ref.boost__beast__buffer_cat_view">buffer_cat_view</link></member> <member><link linkend="beast.ref.boost__beast__buffer_cat_view">buffer_cat_view</link></member>
<member><link linkend="beast.ref.boost__beast__buffer_prefix_view">buffer_prefix_view</link></member>
<member><link linkend="beast.ref.boost__beast__buffered_read_stream">buffered_read_stream</link></member> <member><link linkend="beast.ref.boost__beast__buffered_read_stream">buffered_read_stream</link></member>
<member><link linkend="beast.ref.boost__beast__buffers_adapter">buffers_adapter</link></member> <member><link linkend="beast.ref.boost__beast__buffers_adapter">buffers_adapter</link></member>
<member><link linkend="beast.ref.boost__beast__buffers_prefix_view">buffers_prefix_view</link></member>
<member><link linkend="beast.ref.boost__beast__buffers_suffix">buffers_suffix</link></member> <member><link linkend="beast.ref.boost__beast__buffers_suffix">buffers_suffix</link></member>
<member><link linkend="beast.ref.boost__beast__file">file</link></member> <member><link linkend="beast.ref.boost__beast__file">file</link></member>
<member><link linkend="beast.ref.boost__beast__file_mode">file_mode</link></member> <member><link linkend="beast.ref.boost__beast__file_mode">file_mode</link></member>
@ -217,8 +217,8 @@
<member><link linkend="beast.ref.boost__beast__bind_handler">bind_handler</link></member> <member><link linkend="beast.ref.boost__beast__bind_handler">bind_handler</link></member>
<member><link linkend="beast.ref.boost__beast__buffer_cat">buffer_cat</link></member> <member><link linkend="beast.ref.boost__beast__buffer_cat">buffer_cat</link></member>
<member><link linkend="beast.ref.boost__beast__buffer_front">buffer_front</link></member> <member><link linkend="beast.ref.boost__beast__buffer_front">buffer_front</link></member>
<member><link linkend="beast.ref.boost__beast__buffer_prefix">buffer_prefix</link></member>
<member><link linkend="beast.ref.boost__beast__buffers">buffers</link></member> <member><link linkend="beast.ref.boost__beast__buffers">buffers</link></member>
<member><link linkend="beast.ref.boost__beast__buffers_prefix">buffers_prefix</link></member>
<member><link linkend="beast.ref.boost__beast__generic_category">generic_category</link></member> <member><link linkend="beast.ref.boost__beast__generic_category">generic_category</link></member>
<member><link linkend="beast.ref.boost__beast__iequals">iequals</link></member> <member><link linkend="beast.ref.boost__beast__iequals">iequals</link></member>
<member><link linkend="beast.ref.boost__beast__ostream">ostream</link></member> <member><link linkend="beast.ref.boost__beast__ostream">ostream</link></member>

View File

@ -199,9 +199,9 @@ operator()(boost::beast::error_code ec, std::size_t bytes_transferred)
// write everything back // write everything back
p.step = 2; p.step = 2;
// async_read_until could have read past the newline, // async_read_until could have read past the newline,
// use buffer_prefix to make sure we only send one line // use buffers_prefix to make sure we only send one line
return boost::asio::async_write(p.stream, return boost::asio::async_write(p.stream,
boost::beast::buffer_prefix(bytes_transferred, p.buffer.data()), std::move(*this)); boost::beast::buffers_prefix(bytes_transferred, p.buffer.data()), std::move(*this));
case 2: case 2:
p.buffer.consume(bytes_transferred); p.buffer.consume(bytes_transferred);

View File

@ -15,7 +15,7 @@
#include <boost/beast/core/async_result.hpp> #include <boost/beast/core/async_result.hpp>
#include <boost/beast/core/bind_handler.hpp> #include <boost/beast/core/bind_handler.hpp>
#include <boost/beast/core/buffer_cat.hpp> #include <boost/beast/core/buffer_cat.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffered_read_stream.hpp> #include <boost/beast/core/buffered_read_stream.hpp>
#include <boost/beast/core/buffers_adapter.hpp> #include <boost/beast/core/buffers_adapter.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>

View File

@ -65,11 +65,11 @@ namespace beast {
boost::asio::read_until( boost::asio::read_until(
stream.next_layer(), stream.buffer(), "\r\n\r\n"); stream.next_layer(), stream.buffer(), "\r\n\r\n");
// Use buffer_prefix() to limit the input // Use buffers_prefix() to limit the input
// sequence to only the data up to and including // sequence to only the data up to and including
// the trailing "\r\n\r\n". // the trailing "\r\n\r\n".
// //
auto header_buffers = buffer_prefix( auto header_buffers = buffers_prefix(
bytes_transferred, stream.buffer().data()); bytes_transferred, stream.buffer().data());
... ...

View File

@ -7,8 +7,8 @@
// Official repository: https://github.com/boostorg/beast // Official repository: https://github.com/boostorg/beast
// //
#ifndef BOOST_BEAST_BUFFER_PREFIX_HPP #ifndef BOOST_BEAST_BUFFERS_PREFIX_HPP
#define BOOST_BEAST_BUFFER_PREFIX_HPP #define BOOST_BEAST_BUFFERS_PREFIX_HPP
#include <boost/beast/config.hpp> #include <boost/beast/config.hpp>
#include <boost/beast/core/type_traits.hpp> #include <boost/beast/core/type_traits.hpp>
@ -29,7 +29,7 @@ namespace beast {
@tparam BufferSequence The buffer sequence to adapt. @tparam BufferSequence The buffer sequence to adapt.
*/ */
template<class BufferSequence> template<class BufferSequence>
class buffer_prefix_view class buffers_prefix_view
{ {
using buffers_type = typename using buffers_type = typename
std::decay<BufferSequence>::type; std::decay<BufferSequence>::type;
@ -42,7 +42,7 @@ class buffer_prefix_view
iter_type end_; iter_type end_;
template<class Deduced> template<class Deduced>
buffer_prefix_view( buffers_prefix_view(
Deduced&& other, std::size_t dist) Deduced&& other, std::size_t dist)
: bs_(std::forward<Deduced>(other).bs_) : bs_(std::forward<Deduced>(other).bs_)
, size_(other.size_) , size_(other.size_)
@ -72,16 +72,16 @@ public:
#endif #endif
/// Move constructor. /// Move constructor.
buffer_prefix_view(buffer_prefix_view&&); buffers_prefix_view(buffers_prefix_view&&);
/// Copy constructor. /// Copy constructor.
buffer_prefix_view(buffer_prefix_view const&); buffers_prefix_view(buffers_prefix_view const&);
/// Move assignment. /// Move assignment.
buffer_prefix_view& operator=(buffer_prefix_view&&); buffers_prefix_view& operator=(buffers_prefix_view&&);
/// Copy assignment. /// Copy assignment.
buffer_prefix_view& operator=(buffer_prefix_view const&); buffers_prefix_view& operator=(buffers_prefix_view const&);
/** Construct a buffer sequence prefix. /** Construct a buffer sequence prefix.
@ -94,7 +94,7 @@ public:
the sequence will be made, but ownership of the underlying the sequence will be made, but ownership of the underlying
memory is not transferred. memory is not transferred.
*/ */
buffer_prefix_view( buffers_prefix_view(
std::size_t size, std::size_t size,
BufferSequence const& buffers); BufferSequence const& buffers);
@ -108,7 +108,7 @@ public:
@param args Arguments forwarded to the contained buffers constructor. @param args Arguments forwarded to the contained buffers constructor.
*/ */
template<class... Args> template<class... Args>
buffer_prefix_view( buffers_prefix_view(
std::size_t size, std::size_t size,
boost::in_place_init_t, boost::in_place_init_t,
Args&&... args); Args&&... args);
@ -138,7 +138,7 @@ public:
*/ */
inline inline
boost::asio::const_buffer boost::asio::const_buffer
buffer_prefix(std::size_t size, buffers_prefix(std::size_t size,
boost::asio::const_buffer buffer) boost::asio::const_buffer buffer)
{ {
using boost::asio::buffer_cast; using boost::asio::buffer_cast;
@ -163,7 +163,7 @@ buffer_prefix(std::size_t size,
*/ */
inline inline
boost::asio::mutable_buffer boost::asio::mutable_buffer
buffer_prefix(std::size_t size, buffers_prefix(std::size_t size,
boost::asio::mutable_buffer buffer) boost::asio::mutable_buffer buffer)
{ {
using boost::asio::buffer_cast; using boost::asio::buffer_cast;
@ -190,7 +190,7 @@ buffer_prefix(std::size_t size,
*/ */
template<class BufferSequence> template<class BufferSequence>
#if BOOST_BEAST_DOXYGEN #if BOOST_BEAST_DOXYGEN
buffer_prefix_view<BufferSequence> buffers_prefix_view<BufferSequence>
#else #else
inline inline
typename std::enable_if< typename std::enable_if<
@ -198,15 +198,15 @@ typename std::enable_if<
boost::asio::const_buffer>::value && boost::asio::const_buffer>::value &&
! std::is_same<BufferSequence, ! std::is_same<BufferSequence,
boost::asio::mutable_buffer>::value, boost::asio::mutable_buffer>::value,
buffer_prefix_view<BufferSequence>>::type buffers_prefix_view<BufferSequence>>::type
#endif #endif
buffer_prefix(std::size_t size, BufferSequence const& buffers) buffers_prefix(std::size_t size, BufferSequence const& buffers)
{ {
static_assert( static_assert(
is_const_buffer_sequence<BufferSequence>::value || is_const_buffer_sequence<BufferSequence>::value ||
is_mutable_buffer_sequence<BufferSequence>::value, is_mutable_buffer_sequence<BufferSequence>::value,
"BufferSequence requirements not met"); "BufferSequence requirements not met");
return buffer_prefix_view<BufferSequence>(size, buffers); return buffers_prefix_view<BufferSequence>(size, buffers);
} }
/** Returns the first buffer in a buffer sequence /** Returns the first buffer in a buffer sequence
@ -235,6 +235,6 @@ buffer_front(BufferSequence const& buffers)
} // beast } // beast
} // boost } // boost
#include <boost/beast/core/impl/buffer_prefix.ipp> #include <boost/beast/core/impl/buffers_prefix.ipp>
#endif #endif

View File

@ -7,8 +7,8 @@
// Official repository: https://github.com/boostorg/beast // Official repository: https://github.com/boostorg/beast
// //
#ifndef BOOST_BEAST_IMPL_BUFFER_PREFIX_IPP #ifndef BOOST_BEAST_IMPL_BUFFERS_PREFIX_IPP
#define BOOST_BEAST_IMPL_BUFFER_PREFIX_IPP #define BOOST_BEAST_IMPL_BUFFERS_PREFIX_IPP
#include <algorithm> #include <algorithm>
#include <cstdint> #include <cstdint>
@ -24,7 +24,7 @@ namespace detail {
inline inline
boost::asio::const_buffer boost::asio::const_buffer
buffer_prefix(std::size_t size, buffers_prefix(std::size_t size,
boost::asio::const_buffer buffer) boost::asio::const_buffer buffer)
{ {
using boost::asio::buffer_cast; using boost::asio::buffer_cast;
@ -35,7 +35,7 @@ buffer_prefix(std::size_t size,
inline inline
boost::asio::mutable_buffer boost::asio::mutable_buffer
buffer_prefix(std::size_t size, buffers_prefix(std::size_t size,
boost::asio::mutable_buffer buffer) boost::asio::mutable_buffer buffer)
{ {
using boost::asio::buffer_cast; using boost::asio::buffer_cast;
@ -47,11 +47,11 @@ buffer_prefix(std::size_t size,
} // detail } // detail
template<class BufferSequence> template<class BufferSequence>
class buffer_prefix_view<BufferSequence>::const_iterator class buffers_prefix_view<BufferSequence>::const_iterator
{ {
friend class buffer_prefix_view<BufferSequence>; friend class buffers_prefix_view<BufferSequence>;
buffer_prefix_view const* b_ = nullptr; buffers_prefix_view const* b_ = nullptr;
std::size_t remain_; std::size_t remain_;
iter_type it_; iter_type it_;
@ -89,7 +89,7 @@ public:
reference reference
operator*() const operator*() const
{ {
return detail::buffer_prefix(remain_, *it_); return detail::buffers_prefix(remain_, *it_);
} }
pointer pointer
@ -126,7 +126,7 @@ public:
} }
private: private:
const_iterator(buffer_prefix_view const& b, const_iterator(buffers_prefix_view const& b,
std::true_type) std::true_type)
: b_(&b) : b_(&b)
, remain_(0) , remain_(0)
@ -134,7 +134,7 @@ private:
{ {
} }
const_iterator(buffer_prefix_view const& b, const_iterator(buffers_prefix_view const& b,
std::false_type) std::false_type)
: b_(&b) : b_(&b)
, remain_(b_->size_) , remain_(b_->size_)
@ -145,7 +145,7 @@ private:
template<class BufferSequence> template<class BufferSequence>
void void
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
setup(std::size_t size) setup(std::size_t size)
{ {
size_ = 0; size_ = 0;
@ -166,18 +166,18 @@ setup(std::size_t size)
} }
template<class BufferSequence> template<class BufferSequence>
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
buffer_prefix_view(buffer_prefix_view&& other) buffers_prefix_view(buffers_prefix_view&& other)
: buffer_prefix_view(std::move(other), : buffers_prefix_view(std::move(other),
std::distance<iter_type>( std::distance<iter_type>(
other.bs_.begin(), other.end_)) other.bs_.begin(), other.end_))
{ {
} }
template<class BufferSequence> template<class BufferSequence>
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
buffer_prefix_view(buffer_prefix_view const& other) buffers_prefix_view(buffers_prefix_view const& other)
: buffer_prefix_view(other, : buffers_prefix_view(other,
std::distance<iter_type>( std::distance<iter_type>(
other.bs_.begin(), other.end_)) other.bs_.begin(), other.end_))
{ {
@ -185,9 +185,9 @@ buffer_prefix_view(buffer_prefix_view const& other)
template<class BufferSequence> template<class BufferSequence>
auto auto
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
operator=(buffer_prefix_view&& other) -> operator=(buffers_prefix_view&& other) ->
buffer_prefix_view& buffers_prefix_view&
{ {
auto const dist = std::distance<iter_type>( auto const dist = std::distance<iter_type>(
other.bs_.begin(), other.end_); other.bs_.begin(), other.end_);
@ -199,9 +199,9 @@ operator=(buffer_prefix_view&& other) ->
template<class BufferSequence> template<class BufferSequence>
auto auto
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
operator=(buffer_prefix_view const& other) -> operator=(buffers_prefix_view const& other) ->
buffer_prefix_view& buffers_prefix_view&
{ {
auto const dist = std::distance<iter_type>( auto const dist = std::distance<iter_type>(
other.bs_.begin(), other.end_); other.bs_.begin(), other.end_);
@ -212,8 +212,8 @@ operator=(buffer_prefix_view const& other) ->
} }
template<class BufferSequence> template<class BufferSequence>
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
buffer_prefix_view(std::size_t size, buffers_prefix_view(std::size_t size,
BufferSequence const& bs) BufferSequence const& bs)
: bs_(bs) : bs_(bs)
{ {
@ -222,8 +222,8 @@ buffer_prefix_view(std::size_t size,
template<class BufferSequence> template<class BufferSequence>
template<class... Args> template<class... Args>
buffer_prefix_view<BufferSequence>:: buffers_prefix_view<BufferSequence>::
buffer_prefix_view(std::size_t size, buffers_prefix_view(std::size_t size,
boost::in_place_init_t, Args&&... args) boost::in_place_init_t, Args&&... args)
: bs_(std::forward<Args>(args)...) : bs_(std::forward<Args>(args)...)
{ {
@ -233,7 +233,7 @@ buffer_prefix_view(std::size_t size,
template<class BufferSequence> template<class BufferSequence>
inline inline
auto auto
buffer_prefix_view<BufferSequence>::begin() const -> buffers_prefix_view<BufferSequence>::begin() const ->
const_iterator const_iterator
{ {
return const_iterator{*this, std::false_type{}}; return const_iterator{*this, std::false_type{}};
@ -242,7 +242,7 @@ buffer_prefix_view<BufferSequence>::begin() const ->
template<class BufferSequence> template<class BufferSequence>
inline inline
auto auto
buffer_prefix_view<BufferSequence>::end() const -> buffers_prefix_view<BufferSequence>::end() const ->
const_iterator const_iterator
{ {
return const_iterator{*this, std::true_type{}}; return const_iterator{*this, std::true_type{}};

View File

@ -12,7 +12,7 @@
#include <boost/beast/config.hpp> #include <boost/beast/config.hpp>
#include <boost/beast/core/buffer_cat.hpp> #include <boost/beast/core/buffer_cat.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/string.hpp> #include <boost/beast/core/string.hpp>
#include <boost/beast/core/type_traits.hpp> #include <boost/beast/core/type_traits.hpp>
@ -118,16 +118,16 @@ private:
using cb1_t = buffers_suffix<typename using cb1_t = buffers_suffix<typename
Fields::reader::const_buffers_type>; // header Fields::reader::const_buffers_type>; // header
using pcb1_t = buffer_prefix_view<cb1_t const&>; using pcb1_t = buffers_prefix_view<cb1_t const&>;
using cb2_t = buffers_suffix<buffer_cat_view< using cb2_t = buffers_suffix<buffer_cat_view<
typename Fields::reader::const_buffers_type,// header typename Fields::reader::const_buffers_type,// header
typename reader::const_buffers_type>>; // body typename reader::const_buffers_type>>; // body
using pcb2_t = buffer_prefix_view<cb2_t const&>; using pcb2_t = buffers_prefix_view<cb2_t const&>;
using cb3_t = buffers_suffix< using cb3_t = buffers_suffix<
typename reader::const_buffers_type>; // body typename reader::const_buffers_type>; // body
using pcb3_t = buffer_prefix_view<cb3_t const&>; using pcb3_t = buffers_prefix_view<cb3_t const&>;
using cb4_t = buffers_suffix<buffer_cat_view< using cb4_t = buffers_suffix<buffer_cat_view<
typename Fields::reader::const_buffers_type,// header typename Fields::reader::const_buffers_type,// header
@ -136,7 +136,7 @@ private:
chunk_crlf, // crlf chunk_crlf, // crlf
typename reader::const_buffers_type, // body typename reader::const_buffers_type, // body
chunk_crlf>>; // crlf chunk_crlf>>; // crlf
using pcb4_t = buffer_prefix_view<cb4_t const&>; using pcb4_t = buffers_prefix_view<cb4_t const&>;
using cb5_t = buffers_suffix<buffer_cat_view< using cb5_t = buffers_suffix<buffer_cat_view<
detail::chunk_size, // chunk-header detail::chunk_size, // chunk-header
@ -144,7 +144,7 @@ private:
chunk_crlf, // crlf chunk_crlf, // crlf
typename reader::const_buffers_type, // body typename reader::const_buffers_type, // body
chunk_crlf>>; // crlf chunk_crlf>>; // crlf
using pcb5_t = buffer_prefix_view<cb5_t const&>; using pcb5_t = buffers_prefix_view<cb5_t const&>;
using cb6_t = buffers_suffix<buffer_cat_view< using cb6_t = buffers_suffix<buffer_cat_view<
detail::chunk_size, // chunk-header detail::chunk_size, // chunk-header
@ -155,7 +155,7 @@ private:
boost::asio::const_buffers_1, // chunk-final boost::asio::const_buffers_1, // chunk-final
boost::asio::const_buffers_1, // trailers boost::asio::const_buffers_1, // trailers
chunk_crlf>>; // crlf chunk_crlf>>; // crlf
using pcb6_t = buffer_prefix_view<cb6_t const&>; using pcb6_t = buffers_prefix_view<cb6_t const&>;
using cb7_t = buffers_suffix<buffer_cat_view< using cb7_t = buffers_suffix<buffer_cat_view<
typename Fields::reader::const_buffers_type,// header typename Fields::reader::const_buffers_type,// header
@ -167,13 +167,13 @@ private:
boost::asio::const_buffers_1, // chunk-final boost::asio::const_buffers_1, // chunk-final
boost::asio::const_buffers_1, // trailers boost::asio::const_buffers_1, // trailers
chunk_crlf>>; // crlf chunk_crlf>>; // crlf
using pcb7_t = buffer_prefix_view<cb7_t const&>; using pcb7_t = buffers_prefix_view<cb7_t const&>;
using cb8_t = buffers_suffix<buffer_cat_view< using cb8_t = buffers_suffix<buffer_cat_view<
boost::asio::const_buffers_1, // chunk-final boost::asio::const_buffers_1, // chunk-final
boost::asio::const_buffers_1, // trailers boost::asio::const_buffers_1, // trailers
chunk_crlf>>; // crlf chunk_crlf>>; // crlf
using pcb8_t = buffer_prefix_view<cb8_t const&>; using pcb8_t = buffers_prefix_view<cb8_t const&>;
value_type& m_; value_type& m_;
reader rd_; reader rd_;

View File

@ -16,7 +16,7 @@
#include <boost/beast/http/read.hpp> #include <boost/beast/http/read.hpp>
#include <boost/beast/http/string_body.hpp> #include <boost/beast/http/string_body.hpp>
#include <boost/beast/http/write.hpp> #include <boost/beast/http/write.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/handler_ptr.hpp> #include <boost/beast/core/handler_ptr.hpp>
#include <boost/beast/core/detail/type_traits.hpp> #include <boost/beast/core/detail/type_traits.hpp>
#include <boost/asio/coroutine.hpp> #include <boost/asio/coroutine.hpp>

View File

@ -247,7 +247,7 @@ operator()(
{ {
BOOST_ASSERT(! d.ws.rd_close_); BOOST_ASSERT(! d.ws.rd_close_);
d.ws.rd_close_ = true; d.ws.rd_close_ = true;
auto const mb = buffer_prefix( auto const mb = buffers_prefix(
clamp(d.ws.rd_fh_.len), clamp(d.ws.rd_fh_.len),
d.ws.rd_buf_.data()); d.ws.rd_buf_.data());
if(d.ws.rd_fh_.len > 0 && d.ws.rd_fh_.mask) if(d.ws.rd_fh_.len > 0 && d.ws.rd_fh_.mask)
@ -395,7 +395,7 @@ close(close_reason const& cr, error_code& ec)
{ {
BOOST_ASSERT(! rd_close_); BOOST_ASSERT(! rd_close_);
rd_close_ = true; rd_close_ = true;
auto const mb = buffer_prefix( auto const mb = buffers_prefix(
clamp(rd_fh_.len), clamp(rd_fh_.len),
rd_buf_.data()); rd_buf_.data());
if(rd_fh_.len > 0 && rd_fh_.mask) if(rd_fh_.len > 0 && rd_fh_.mask)

View File

@ -12,7 +12,7 @@
#include <boost/beast/websocket/teardown.hpp> #include <boost/beast/websocket/teardown.hpp>
#include <boost/beast/core/bind_handler.hpp> #include <boost/beast/core/bind_handler.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/flat_static_buffer.hpp> #include <boost/beast/core/flat_static_buffer.hpp>
#include <boost/beast/core/type_traits.hpp> #include <boost/beast/core/type_traits.hpp>
@ -228,7 +228,7 @@ operator()(
// Immediately apply the mask to the portion // Immediately apply the mask to the portion
// of the buffer holding payload data. // of the buffer holding payload data.
if(ws_.rd_fh_.len > 0 && ws_.rd_fh_.mask) if(ws_.rd_fh_.len > 0 && ws_.rd_fh_.mask)
detail::mask_inplace(buffer_prefix( detail::mask_inplace(buffers_prefix(
clamp(ws_.rd_fh_.len), clamp(ws_.rd_fh_.len),
ws_.rd_buf_.data()), ws_.rd_buf_.data()),
ws_.rd_key_); ws_.rd_key_);
@ -242,7 +242,7 @@ operator()(
if(ws_.rd_fh_.op == detail::opcode::ping) if(ws_.rd_fh_.op == detail::opcode::ping)
{ {
{ {
auto const b = buffer_prefix( auto const b = buffers_prefix(
clamp(ws_.rd_fh_.len), clamp(ws_.rd_fh_.len),
ws_.rd_buf_.data()); ws_.rd_buf_.data());
auto const len = buffer_size(b); auto const len = buffer_size(b);
@ -313,7 +313,7 @@ operator()(
// Handle pong frame // Handle pong frame
if(ws_.rd_fh_.op == detail::opcode::pong) if(ws_.rd_fh_.op == detail::opcode::pong)
{ {
auto const cb = buffer_prefix(clamp( auto const cb = buffers_prefix(clamp(
ws_.rd_fh_.len), ws_.rd_buf_.data()); ws_.rd_fh_.len), ws_.rd_buf_.data());
auto const len = buffer_size(cb); auto const len = buffer_size(cb);
BOOST_ASSERT(len == ws_.rd_fh_.len); BOOST_ASSERT(len == ws_.rd_fh_.len);
@ -329,7 +329,7 @@ operator()(
// Handle close frame // Handle close frame
BOOST_ASSERT(ws_.rd_fh_.op == detail::opcode::close); BOOST_ASSERT(ws_.rd_fh_.op == detail::opcode::close);
{ {
auto const cb = buffer_prefix(clamp( auto const cb = buffers_prefix(clamp(
ws_.rd_fh_.len), ws_.rd_buf_.data()); ws_.rd_fh_.len), ws_.rd_buf_.data());
auto const len = buffer_size(cb); auto const len = buffer_size(cb);
BOOST_ASSERT(len == ws_.rd_fh_.len); BOOST_ASSERT(len == ws_.rd_fh_.len);
@ -392,7 +392,7 @@ operator()(
goto upcall; goto upcall;
ws_.rd_buf_.commit(bytes_transferred); ws_.rd_buf_.commit(bytes_transferred);
if(ws_.rd_fh_.mask) if(ws_.rd_fh_.mask)
detail::mask_inplace(buffer_prefix(clamp( detail::mask_inplace(buffers_prefix(clamp(
ws_.rd_remain_), ws_.rd_buf_.data()), ws_.rd_remain_), ws_.rd_buf_.data()),
ws_.rd_key_); ws_.rd_key_);
} }
@ -402,7 +402,7 @@ operator()(
// The mask was already applied. // The mask was already applied.
bytes_transferred = buffer_copy(cb_, bytes_transferred = buffer_copy(cb_,
ws_.rd_buf_.data(), clamp(ws_.rd_remain_)); ws_.rd_buf_.data(), clamp(ws_.rd_remain_));
auto const mb = buffer_prefix( auto const mb = buffers_prefix(
bytes_transferred, cb_); bytes_transferred, cb_);
ws_.rd_remain_ -= bytes_transferred; ws_.rd_remain_ -= bytes_transferred;
if(ws_.rd_op_ == detail::opcode::text) if(ws_.rd_op_ == detail::opcode::text)
@ -427,12 +427,12 @@ operator()(
BOOST_ASSERT(ws_.rd_remain_ > 0); BOOST_ASSERT(ws_.rd_remain_ > 0);
BOOST_ASSERT(buffer_size(cb_) > 0); BOOST_ASSERT(buffer_size(cb_) > 0);
BOOST_ASIO_CORO_YIELD BOOST_ASIO_CORO_YIELD
ws_.stream_.async_read_some(buffer_prefix( ws_.stream_.async_read_some(buffers_prefix(
clamp(ws_.rd_remain_), cb_), std::move(*this)); clamp(ws_.rd_remain_), cb_), std::move(*this));
if(! ws_.check_ok(ec)) if(! ws_.check_ok(ec))
goto upcall; goto upcall;
BOOST_ASSERT(bytes_transferred > 0); BOOST_ASSERT(bytes_transferred > 0);
auto const mb = buffer_prefix( auto const mb = buffers_prefix(
bytes_transferred, cb_); bytes_transferred, cb_);
ws_.rd_remain_ -= bytes_transferred; ws_.rd_remain_ -= bytes_transferred;
if(ws_.rd_fh_.mask) if(ws_.rd_fh_.mask)
@ -478,7 +478,7 @@ operator()(
ws_.rd_buf_.commit(bytes_transferred); ws_.rd_buf_.commit(bytes_transferred);
if(ws_.rd_fh_.mask) if(ws_.rd_fh_.mask)
detail::mask_inplace( detail::mask_inplace(
buffer_prefix(clamp(ws_.rd_remain_), buffers_prefix(clamp(ws_.rd_remain_),
ws_.rd_buf_.data()), ws_.rd_key_); ws_.rd_buf_.data()), ws_.rd_key_);
did_read_ = true; did_read_ = true;
} }
@ -494,7 +494,7 @@ operator()(
if(ws_.rd_buf_.size() > 0) if(ws_.rd_buf_.size() > 0)
{ {
// use what's there // use what's there
auto const in = buffer_prefix( auto const in = buffers_prefix(
clamp(ws_.rd_remain_), buffer_front( clamp(ws_.rd_remain_), buffer_front(
ws_.rd_buf_.data())); ws_.rd_buf_.data()));
zs.avail_in = buffer_size(in); zs.avail_in = buffer_size(in);
@ -556,7 +556,7 @@ operator()(
{ {
// check utf8 // check utf8
if(! ws_.rd_utf8_.write( if(! ws_.rd_utf8_.write(
buffer_prefix(bytes_written_, cb_.get())) || ( buffers_prefix(bytes_written_, cb_.get())) || (
ws_.rd_done_ && ! ws_.rd_utf8_.finish())) ws_.rd_done_ && ! ws_.rd_utf8_.finish()))
{ {
// _Fail the WebSocket Connection_ // _Fail the WebSocket Connection_
@ -1006,13 +1006,13 @@ loop:
// Immediately apply the mask to the portion // Immediately apply the mask to the portion
// of the buffer holding payload data. // of the buffer holding payload data.
if(rd_fh_.len > 0 && rd_fh_.mask) if(rd_fh_.len > 0 && rd_fh_.mask)
detail::mask_inplace(buffer_prefix( detail::mask_inplace(buffers_prefix(
clamp(rd_fh_.len), rd_buf_.data()), clamp(rd_fh_.len), rd_buf_.data()),
rd_key_); rd_key_);
if(detail::is_control(rd_fh_.op)) if(detail::is_control(rd_fh_.op))
{ {
// Get control frame payload // Get control frame payload
auto const b = buffer_prefix( auto const b = buffers_prefix(
clamp(rd_fh_.len), rd_buf_.data()); clamp(rd_fh_.len), rd_buf_.data());
auto const len = buffer_size(b); auto const len = buffer_size(b);
BOOST_ASSERT(len == rd_fh_.len); BOOST_ASSERT(len == rd_fh_.len);
@ -1106,7 +1106,7 @@ loop:
return bytes_written; return bytes_written;
if(rd_fh_.mask) if(rd_fh_.mask)
detail::mask_inplace( detail::mask_inplace(
buffer_prefix(clamp(rd_remain_), buffers_prefix(clamp(rd_remain_),
rd_buf_.data()), rd_key_); rd_buf_.data()), rd_key_);
} }
if(rd_buf_.size() > 0) if(rd_buf_.size() > 0)
@ -1116,7 +1116,7 @@ loop:
auto const bytes_transferred = auto const bytes_transferred =
buffer_copy(buffers, rd_buf_.data(), buffer_copy(buffers, rd_buf_.data(),
clamp(rd_remain_)); clamp(rd_remain_));
auto const mb = buffer_prefix( auto const mb = buffers_prefix(
bytes_transferred, buffers); bytes_transferred, buffers);
rd_remain_ -= bytes_transferred; rd_remain_ -= bytes_transferred;
if(rd_op_ == detail::opcode::text) if(rd_op_ == detail::opcode::text)
@ -1143,12 +1143,12 @@ loop:
BOOST_ASSERT(rd_remain_ > 0); BOOST_ASSERT(rd_remain_ > 0);
BOOST_ASSERT(buffer_size(buffers) > 0); BOOST_ASSERT(buffer_size(buffers) > 0);
auto const bytes_transferred = auto const bytes_transferred =
stream_.read_some(buffer_prefix( stream_.read_some(buffers_prefix(
clamp(rd_remain_), buffers), ec); clamp(rd_remain_), buffers), ec);
if(! check_ok(ec)) if(! check_ok(ec))
return bytes_written; return bytes_written;
BOOST_ASSERT(bytes_transferred > 0); BOOST_ASSERT(bytes_transferred > 0);
auto const mb = buffer_prefix( auto const mb = buffers_prefix(
bytes_transferred, buffers); bytes_transferred, buffers);
rd_remain_ -= bytes_transferred; rd_remain_ -= bytes_transferred;
if(rd_fh_.mask) if(rd_fh_.mask)
@ -1193,7 +1193,7 @@ loop:
if(rd_buf_.size() > 0) if(rd_buf_.size() > 0)
{ {
// use what's there // use what's there
auto const in = buffer_prefix( auto const in = buffers_prefix(
clamp(rd_remain_), buffer_front( clamp(rd_remain_), buffer_front(
rd_buf_.data())); rd_buf_.data()));
zs.avail_in = buffer_size(in); zs.avail_in = buffer_size(in);
@ -1213,9 +1213,9 @@ loop:
rd_buf_.commit(bytes_transferred); rd_buf_.commit(bytes_transferred);
if(rd_fh_.mask) if(rd_fh_.mask)
detail::mask_inplace( detail::mask_inplace(
buffer_prefix(clamp(rd_remain_), buffers_prefix(clamp(rd_remain_),
rd_buf_.data()), rd_key_); rd_buf_.data()), rd_key_);
auto const in = buffer_prefix( auto const in = buffers_prefix(
clamp(rd_remain_), buffer_front( clamp(rd_remain_), buffer_front(
rd_buf_.data())); rd_buf_.data()));
zs.avail_in = buffer_size(in); zs.avail_in = buffer_size(in);
@ -1277,7 +1277,7 @@ loop:
{ {
// check utf8 // check utf8
if(! rd_utf8_.write( if(! rd_utf8_.write(
buffer_prefix(bytes_written, buffers)) || ( buffers_prefix(bytes_written, buffers)) || (
rd_done_ && ! rd_utf8_.finish())) rd_done_ && ! rd_utf8_.finish()))
{ {
// _Fail the WebSocket Connection_ // _Fail the WebSocket Connection_

View File

@ -19,7 +19,7 @@
#include <boost/beast/http/write.hpp> #include <boost/beast/http/write.hpp>
#include <boost/beast/http/rfc7230.hpp> #include <boost/beast/http/rfc7230.hpp>
#include <boost/beast/core/buffer_cat.hpp> #include <boost/beast/core/buffer_cat.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/flat_static_buffer.hpp> #include <boost/beast/core/flat_static_buffer.hpp>
#include <boost/beast/core/type_traits.hpp> #include <boost/beast/core/type_traits.hpp>

View File

@ -12,7 +12,7 @@
#include <boost/beast/core/bind_handler.hpp> #include <boost/beast/core/bind_handler.hpp>
#include <boost/beast/core/buffer_cat.hpp> #include <boost/beast/core/buffer_cat.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/handler_ptr.hpp> #include <boost/beast/core/handler_ptr.hpp>
#include <boost/beast/core/flat_static_buffer.hpp> #include <boost/beast/core/flat_static_buffer.hpp>
@ -272,7 +272,7 @@ operator()(
BOOST_ASIO_CORO_YIELD BOOST_ASIO_CORO_YIELD
boost::asio::async_write( boost::asio::async_write(
ws_.stream_, buffer_cat( ws_.stream_, buffer_cat(
ws_.wr_fb_.data(), buffer_prefix( ws_.wr_fb_.data(), buffers_prefix(
clamp(fh_.len), cb_)), clamp(fh_.len), cb_)),
std::move(*this)); std::move(*this));
if(! ws_.check_ok(ec)) if(! ws_.check_ok(ec))
@ -630,7 +630,7 @@ write_some(bool fin,
wr_cont_ = ! fin; wr_cont_ = ! fin;
boost::asio::write(stream_, boost::asio::write(stream_,
buffer_cat(fh_buf.data(), buffer_cat(fh_buf.data(),
buffer_prefix(n, cb)), ec); buffers_prefix(n, cb)), ec);
if(! check_ok(ec)) if(! check_ok(ec))
return bytes_transferred; return bytes_transferred;
bytes_transferred += n; bytes_transferred += n;

View File

@ -21,9 +21,9 @@ add_executable (tests-beast-core
async_result.cpp async_result.cpp
bind_handler.cpp bind_handler.cpp
buffer_cat.cpp buffer_cat.cpp
buffer_prefix.cpp
buffered_read_stream.cpp buffered_read_stream.cpp
buffers_adapter.cpp buffers_adapter.cpp
buffers_prefix.cpp
buffers_suffix.cpp buffers_suffix.cpp
error.cpp error.cpp
file.cpp file.cpp

View File

@ -11,9 +11,9 @@ local SOURCES =
async_result.cpp async_result.cpp
bind_handler.cpp bind_handler.cpp
buffer_cat.cpp buffer_cat.cpp
buffer_prefix.cpp
buffered_read_stream.cpp buffered_read_stream.cpp
buffers_adapter.cpp buffers_adapter.cpp
buffers_prefix.cpp
buffers_suffix.cpp buffers_suffix.cpp
error.cpp error.cpp
file.cpp file.cpp

View File

@ -8,7 +8,7 @@
// //
// Test that header file is self-contained. // Test that header file is self-contained.
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/type_traits.hpp> #include <boost/beast/core/type_traits.hpp>
@ -21,24 +21,24 @@ namespace beast {
BOOST_STATIC_ASSERT( BOOST_STATIC_ASSERT(
std::is_same<boost::asio::const_buffer, decltype( std::is_same<boost::asio::const_buffer, decltype(
buffer_prefix(0, buffers_prefix(0,
std::declval<boost::asio::const_buffer>()))>::value); std::declval<boost::asio::const_buffer>()))>::value);
BOOST_STATIC_ASSERT( BOOST_STATIC_ASSERT(
is_const_buffer_sequence<decltype( is_const_buffer_sequence<decltype(
buffer_prefix(0, buffers_prefix(0,
std::declval<boost::asio::const_buffers_1>()))>::value); std::declval<boost::asio::const_buffers_1>()))>::value);
BOOST_STATIC_ASSERT( BOOST_STATIC_ASSERT(
std::is_same<boost::asio::mutable_buffer, decltype( std::is_same<boost::asio::mutable_buffer, decltype(
buffer_prefix(0, buffers_prefix(0,
std::declval<boost::asio::mutable_buffer>()))>::value); std::declval<boost::asio::mutable_buffer>()))>::value);
BOOST_STATIC_ASSERT( BOOST_STATIC_ASSERT(
is_mutable_buffer_sequence<decltype( is_mutable_buffer_sequence<decltype(
buffer_prefix(0, buffers_prefix(0,
std::declval<boost::asio::mutable_buffers_1>()))>::value); std::declval<boost::asio::mutable_buffers_1>()))>::value);
class buffer_prefix_test : public beast::unit_test::suite class buffers_prefix_test : public beast::unit_test::suite
{ {
public: public:
template<class ConstBufferSequence> template<class ConstBufferSequence>
@ -123,14 +123,14 @@ public:
BufferType{&s[x+y], z}}}; BufferType{&s[x+y], z}}};
for(std::size_t i = 0; i <= s.size() + 1; ++i) for(std::size_t i = 0; i <= s.size() + 1; ++i)
{ {
auto pb = buffer_prefix(i, bs); auto pb = buffers_prefix(i, bs);
BEAST_EXPECT(to_string(pb) == s.substr(0, i)); BEAST_EXPECT(to_string(pb) == s.substr(0, i));
auto pb2 = pb; auto pb2 = pb;
BEAST_EXPECT(to_string(pb2) == to_string(pb)); BEAST_EXPECT(to_string(pb2) == to_string(pb));
pb = buffer_prefix(0, bs); pb = buffers_prefix(0, bs);
pb2 = pb; pb2 = pb;
BEAST_EXPECT(buffer_size(pb2) == 0); BEAST_EXPECT(buffer_size(pb2) == 0);
pb2 = buffer_prefix(i, bs); pb2 = buffers_prefix(i, bs);
BEAST_EXPECT(to_string(pb2) == s.substr(0, i)); BEAST_EXPECT(to_string(pb2) == s.substr(0, i));
} }
} }
@ -142,9 +142,9 @@ public:
using boost::asio::buffer_copy; using boost::asio::buffer_copy;
using boost::asio::buffer_size; using boost::asio::buffer_size;
using boost::asio::null_buffers; using boost::asio::null_buffers;
auto pb0 = buffer_prefix(0, null_buffers{}); auto pb0 = buffers_prefix(0, null_buffers{});
BEAST_EXPECT(buffer_size(pb0) == 0); BEAST_EXPECT(buffer_size(pb0) == 0);
auto pb1 = buffer_prefix(1, null_buffers{}); auto pb1 = buffers_prefix(1, null_buffers{});
BEAST_EXPECT(buffer_size(pb1) == 0); BEAST_EXPECT(buffer_size(pb1) == 0);
BEAST_EXPECT(buffer_copy(pb0, pb1) == 0); BEAST_EXPECT(buffer_copy(pb0, pb1) == 0);
@ -156,7 +156,7 @@ public:
BEAST_EXPECT(buffer_size(cb) == 0); BEAST_EXPECT(buffer_size(cb) == 0);
BEAST_EXPECT(buffer_copy(cb, pb1) == 0); BEAST_EXPECT(buffer_copy(cb, pb1) == 0);
auto pbc = buffer_prefix(2, cb); auto pbc = buffers_prefix(2, cb);
BEAST_EXPECT(buffer_size(pbc) == 0); BEAST_EXPECT(buffer_size(pbc) == 0);
BEAST_EXPECT(buffer_copy(pbc, cb) == 0); BEAST_EXPECT(buffer_copy(pbc, cb) == 0);
} }
@ -170,7 +170,7 @@ public:
const_buffer{&b[0], 1}, const_buffer{&b[0], 1},
const_buffer{&b[1], 1}, const_buffer{&b[1], 1},
const_buffer{&b[2], 1}}}; const_buffer{&b[2], 1}}};
auto pb = buffer_prefix(2, bs); auto pb = buffers_prefix(2, bs);
BEAST_EXPECT(bsize1(pb) == 2); BEAST_EXPECT(bsize1(pb) == 2);
BEAST_EXPECT(bsize2(pb) == 2); BEAST_EXPECT(bsize2(pb) == 2);
BEAST_EXPECT(bsize3(pb) == 2); BEAST_EXPECT(bsize3(pb) == 2);
@ -186,7 +186,7 @@ public:
} }
}; };
BEAST_DEFINE_TESTSUITE(beast,core,buffer_prefix); BEAST_DEFINE_TESTSUITE(beast,core,buffers_prefix);
} // beast } // beast
} // boost } // boost

View File

@ -14,7 +14,7 @@
#include "test_parser.hpp" #include "test_parser.hpp"
#include <boost/beast/core/buffer_cat.hpp> #include <boost/beast/core/buffer_cat.hpp>
#include <boost/beast/core/buffer_prefix.hpp> #include <boost/beast/core/buffers_prefix.hpp>
#include <boost/beast/core/buffers_suffix.hpp> #include <boost/beast/core/buffers_suffix.hpp>
#include <boost/beast/core/multi_buffer.hpp> #include <boost/beast/core/multi_buffer.hpp>
#include <boost/beast/core/ostream.hpp> #include <boost/beast/core/ostream.hpp>
@ -164,7 +164,7 @@ public:
p.skip(skip); p.skip(skip);
error_code ec; error_code ec;
buffers_suffix<ConstBufferSequence> cb{buffers}; buffers_suffix<ConstBufferSequence> cb{buffers};
auto n = p.put(buffer_prefix(i, cb), ec); auto n = p.put(buffers_prefix(i, cb), ec);
if(! BEAST_EXPECTS(! ec || if(! BEAST_EXPECTS(! ec ||
ec == error::need_more, ec.message())) ec == error::need_more, ec.message()))
continue; continue;
@ -194,7 +194,7 @@ public:
buffers_suffix<ConstBufferSequence> cb{buffers}; buffers_suffix<ConstBufferSequence> cb{buffers};
cb.consume(i); cb.consume(i);
auto n = p.put(buffer_cat( auto n = p.put(buffer_cat(
buffer_prefix(i, buffers), cb), ec); buffers_prefix(i, buffers), cb), ec);
if(! BEAST_EXPECTS(! ec, ec.message())) if(! BEAST_EXPECTS(! ec, ec.message()))
continue; continue;
if(! BEAST_EXPECT(n == size)) if(! BEAST_EXPECT(n == size))
@ -243,7 +243,7 @@ public:
error_code ec; error_code ec;
buffers_suffix<boost::asio::const_buffers_1> cb{ buffers_suffix<boost::asio::const_buffers_1> cb{
boost::in_place_init, msg.data(), msg.size()}; boost::in_place_init, msg.data(), msg.size()};
auto n = p.put(buffer_prefix(i, cb), ec); auto n = p.put(buffers_prefix(i, cb), ec);
if(ec == result) if(ec == result)
{ {
pass(); pass();

View File

@ -172,7 +172,7 @@ private:
std::geometric_distribution<std::size_t> dist{ std::geometric_distribution<std::size_t> dist{
double(4) / boost::asio::buffer_size(tb_)}; double(4) / boost::asio::buffer_size(tb_)};
ws_.async_write_some(true, ws_.async_write_some(true,
boost::beast::buffer_prefix(dist(rng_), tb_), boost::beast::buffers_prefix(dist(rng_), tb_),
alloc_.wrap(std::bind( alloc_.wrap(std::bind(
&connection::on_write, &connection::on_write,
shared_from_this(), shared_from_this(),

View File

@ -174,7 +174,7 @@ boost::asio::ip::tcp::socket sock{ios};
using boost::asio::buffer_size; using boost::asio::buffer_size;
if(buffer_size(cb) > 512) if(buffer_size(cb) > 512)
{ {
ws.write_some(false, buffer_prefix(512, cb)); ws.write_some(false, buffers_prefix(512, cb));
cb.consume(512); cb.consume(512);
} }
else else