From 06fb2b9dfc380911ff54daa1936911dd32dbb4d1 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Fri, 15 Sep 2017 10:03:59 -0700 Subject: [PATCH] buffers_cat replaces buffer_cat (API Change): fix #773 * buffer_cat is renamed to buffers_cat * buffer_cat_view is renamed to buffers_cat_view Actions Required: * Use buffers_cat instead of buffer_cat * Use buffers_cat_view instead of buffer_cat_view --- CHANGELOG.md | 4 ++ doc/qbk/03_core/3_buffers.qbk | 6 +-- doc/qbk/quickref.xml | 4 +- include/boost/beast/core.hpp | 2 +- .../core/{buffer_cat.hpp => buffers_cat.hpp} | 32 +++++++------- .../impl/{buffer_cat.ipp => buffers_cat.ipp} | 42 +++++++++---------- include/boost/beast/http/chunk_encode.hpp | 8 ++-- include/boost/beast/http/impl/fields.ipp | 4 +- include/boost/beast/http/serializer.hpp | 14 +++---- include/boost/beast/http/write.hpp | 2 +- include/boost/beast/websocket/impl/stream.ipp | 2 +- include/boost/beast/websocket/impl/write.ipp | 22 +++++----- test/beast/core/CMakeLists.txt | 2 +- test/beast/core/Jamfile | 2 +- .../core/{buffer_cat.cpp => buffers_cat.cpp} | 18 ++++---- test/beast/core/buffers_suffix.cpp | 4 +- test/beast/http/basic_parser.cpp | 8 ++-- 17 files changed, 90 insertions(+), 86 deletions(-) rename include/boost/beast/core/{buffer_cat.hpp => buffers_cat.hpp} (79%) rename include/boost/beast/core/impl/{buffer_cat.ipp => buffers_cat.ipp} (93%) rename test/beast/core/{buffer_cat.cpp => buffers_cat.cpp} (95%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 157d57cb..e10a6af3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ API Changes: * buffers_prefix replaces buffer_prefix * buffers_prefix_view replaces buffer_prefix_view * buffers_front replaces buffer_front +* buffers_cat replaces buffer_cat +* buffers_cat_view replaces buffer_cat_view Actions Required: @@ -13,6 +15,8 @@ Actions Required: * Use buffers_prefix instead of buffer_prefix * Use buffers_prefix_view instead of buffer_prefix_view * Use buffers_front instead of buffer_front +* Use buffers_cat instead of buffer_cat +* Use buffers_cat_view instead of buffer_cat_view -------------------------------------------------------------------------------- diff --git a/doc/qbk/03_core/3_buffers.qbk b/doc/qbk/03_core/3_buffers.qbk index 8f00b471..78df936f 100644 --- a/doc/qbk/03_core/3_buffers.qbk +++ b/doc/qbk/03_core/3_buffers.qbk @@ -107,7 +107,7 @@ transferred. [table Buffer Algorithms and Types [[Name][Description]] [[ - [link beast.ref.boost__beast__buffer_cat `buffer_cat`] + [link beast.ref.boost__beast__buffers_cat `buffers_cat`] ][ This functions returns a new buffer sequence which, when iterated, traverses the sequence which would be formed if all of the input buffer @@ -116,11 +116,11 @@ transferred. expensive system calls. ]] [[ - [link beast.ref.boost__beast__buffer_cat_view `buffer_cat_view`] + [link beast.ref.boost__beast__buffers_cat_view `buffers_cat_view`] ][ This class represents the buffer sequence formed by concatenating two or more buffer sequences. This is type of object returned by - [link beast.ref.boost__beast__buffer_cat `buffer_cat`]. + [link beast.ref.boost__beast__buffers_cat `buffers_cat`]. ]] [[ [link beast.ref.boost__beast__buffers_front `buffers_front`] diff --git a/doc/qbk/quickref.xml b/doc/qbk/quickref.xml index 9dc1dc69..d5aaf191 100644 --- a/doc/qbk/quickref.xml +++ b/doc/qbk/quickref.xml @@ -179,9 +179,9 @@ async_return_type basic_flat_buffer basic_multi_buffer - buffer_cat_view buffered_read_stream buffers_adapter + buffer_cat_view buffers_prefix_view buffers_suffix file @@ -215,8 +215,8 @@ Functions bind_handler - buffer_cat buffers + buffer_cat buffers_front buffers_prefix generic_category diff --git a/include/boost/beast/core.hpp b/include/boost/beast/core.hpp index 92e84b99..966a0b8a 100644 --- a/include/boost/beast/core.hpp +++ b/include/boost/beast/core.hpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/boost/beast/core/buffer_cat.hpp b/include/boost/beast/core/buffers_cat.hpp similarity index 79% rename from include/boost/beast/core/buffer_cat.hpp rename to include/boost/beast/core/buffers_cat.hpp index 11dbda90..5e3bf4a1 100644 --- a/include/boost/beast/core/buffer_cat.hpp +++ b/include/boost/beast/core/buffers_cat.hpp @@ -7,8 +7,8 @@ // Official repository: https://github.com/boostorg/beast // -#ifndef BOOST_BEAST_BUFFER_CAT_HPP -#define BOOST_BEAST_BUFFER_CAT_HPP +#ifndef BOOST_BEAST_BUFFERS_CAT_HPP +#define BOOST_BEAST_BUFFERS_CAT_HPP #include #include @@ -19,10 +19,10 @@ namespace beast { /** A buffer sequence representing a concatenation of buffer sequences. - @see @ref buffer_cat + @see @ref buffers_cat */ template -class buffer_cat_view +class buffers_cat_view { std::tuple bn_; @@ -44,13 +44,13 @@ public: class const_iterator; /// Constructor - buffer_cat_view(buffer_cat_view&&) = default; + buffers_cat_view(buffers_cat_view&&) = default; /// Assignment - buffer_cat_view& operator=(buffer_cat_view&&) = default; + buffers_cat_view& operator=(buffers_cat_view&&) = default; /// Assignment - buffer_cat_view& operator=(buffer_cat_view const&) = default; + buffers_cat_view& operator=(buffers_cat_view const&) = default; /** Constructor @@ -59,12 +59,12 @@ public: of memory is not transferred. */ explicit - buffer_cat_view(Buffers const&... buffers); + buffers_cat_view(Buffers const&... buffers); //----- /// Required for @b BufferSequence - buffer_cat_view(buffer_cat_view const&) = default; + buffers_cat_view(buffers_cat_view const&) = default; /// Required for @b BufferSequence const_iterator @@ -92,28 +92,28 @@ public: also a @b MutableBufferSequence; otherwise the returned buffer sequence will be a @b ConstBufferSequence. - @see @ref buffer_cat_view + @see @ref buffers_cat_view */ #if BOOST_BEAST_DOXYGEN template -buffer_cat_view -buffer_cat(BufferSequence const&... buffers) +buffers_cat_view +buffers_cat(BufferSequence const&... buffers) #else template inline -buffer_cat_view -buffer_cat(B1 const& b1, B2 const& b2, Bn const&... bn) +buffers_cat_view +buffers_cat(B1 const& b1, B2 const& b2, Bn const&... bn) #endif { static_assert( detail::is_all_const_buffer_sequence::value, "BufferSequence requirements not met"); - return buffer_cat_view{b1, b2, bn...}; + return buffers_cat_view{b1, b2, bn...}; } } // beast } // boost -#include +#include #endif diff --git a/include/boost/beast/core/impl/buffer_cat.ipp b/include/boost/beast/core/impl/buffers_cat.ipp similarity index 93% rename from include/boost/beast/core/impl/buffer_cat.ipp rename to include/boost/beast/core/impl/buffers_cat.ipp index 1fb34f1c..bed9606a 100644 --- a/include/boost/beast/core/impl/buffer_cat.ipp +++ b/include/boost/beast/core/impl/buffers_cat.ipp @@ -7,8 +7,8 @@ // Official repository: https://github.com/boostorg/beast // -#ifndef BOOST_BEAST_IMPL_BUFFER_CAT_IPP -#define BOOST_BEAST_IMPL_BUFFER_CAT_IPP +#ifndef BOOST_BEAST_IMPL_BUFFERS_CAT_IPP +#define BOOST_BEAST_IMPL_BUFFERS_CAT_IPP #include #include @@ -25,14 +25,14 @@ namespace boost { namespace beast { template -class buffer_cat_view::const_iterator +class buffers_cat_view::const_iterator { std::size_t n_; std::tuple const* bn_; std::array()> buf_; - friend class buffer_cat_view; + friend class buffers_cat_view; template using C = std::integral_constant; @@ -322,14 +322,14 @@ private: //------------------------------------------------------------------------------ template -buffer_cat_view:: +buffers_cat_view:: const_iterator::~const_iterator() { destroy(C<0>{}); } template -buffer_cat_view:: +buffers_cat_view:: const_iterator::const_iterator() : n_(sizeof...(Bn)) , bn_(nullptr) @@ -337,7 +337,7 @@ const_iterator::const_iterator() } template -buffer_cat_view:: +buffers_cat_view:: const_iterator::const_iterator( std::tuple const& bn, bool at_end) : bn_(&bn) @@ -349,7 +349,7 @@ const_iterator::const_iterator( } template -buffer_cat_view:: +buffers_cat_view:: const_iterator::const_iterator(const_iterator&& other) : n_(other.n_) , bn_(other.bn_) @@ -358,7 +358,7 @@ const_iterator::const_iterator(const_iterator&& other) } template -buffer_cat_view:: +buffers_cat_view:: const_iterator::const_iterator(const_iterator const& other) : n_(other.n_) , bn_(other.bn_) @@ -368,7 +368,7 @@ const_iterator::const_iterator(const_iterator const& other) template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator=(const_iterator&& other) -> const_iterator& { @@ -384,7 +384,7 @@ const_iterator::operator=(const_iterator&& other) -> template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator=(const_iterator const& other) -> const_iterator& { @@ -400,7 +400,7 @@ const_iterator& template bool -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator==(const_iterator const& other) const { if(bn_ != other.bn_) @@ -412,7 +412,7 @@ const_iterator::operator==(const_iterator const& other) const template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator*() const -> reference { @@ -421,7 +421,7 @@ const_iterator::operator*() const -> template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator++() -> const_iterator& { @@ -431,7 +431,7 @@ const_iterator::operator++() -> template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator++(int) -> const_iterator { @@ -442,7 +442,7 @@ const_iterator::operator++(int) -> template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator--() -> const_iterator& { @@ -452,7 +452,7 @@ const_iterator::operator--() -> template auto -buffer_cat_view:: +buffers_cat_view:: const_iterator::operator--(int) -> const_iterator { @@ -464,8 +464,8 @@ const_iterator::operator--(int) -> //------------------------------------------------------------------------------ template -buffer_cat_view:: -buffer_cat_view(Bn const&... bn) +buffers_cat_view:: +buffers_cat_view(Bn const&... bn) : bn_(bn...) { } @@ -474,7 +474,7 @@ buffer_cat_view(Bn const&... bn) template inline auto -buffer_cat_view::begin() const -> +buffers_cat_view::begin() const -> const_iterator { return const_iterator{bn_, false}; @@ -483,7 +483,7 @@ buffer_cat_view::begin() const -> template inline auto -buffer_cat_view::end() const -> +buffers_cat_view::end() const -> const_iterator { return const_iterator{bn_, true}; diff --git a/include/boost/beast/http/chunk_encode.hpp b/include/boost/beast/http/chunk_encode.hpp index 6657b181..5916aa29 100644 --- a/include/boost/beast/http/chunk_encode.hpp +++ b/include/boost/beast/http/chunk_encode.hpp @@ -11,7 +11,7 @@ #define BOOST_BEAST_HTTP_CHUNK_ENCODE_HPP #include -#include +#include #include #include #include @@ -104,7 +104,7 @@ struct chunk_crlf */ class chunk_header { - using view_type = buffer_cat_view< + using view_type = buffers_cat_view< detail::chunk_size, // chunk-size boost::asio::const_buffers_1, // chunk-extensions chunk_crlf>; // CRLF @@ -283,7 +283,7 @@ public: template class chunk_body { - using view_type = buffer_cat_view< + using view_type = buffers_cat_view< detail::chunk_size, // chunk-size boost::asio::const_buffers_1, // chunk-extensions chunk_crlf, // CRLF @@ -466,7 +466,7 @@ class chunk_last detail::buffers_or_fields::type; using view_type = - buffer_cat_view< + buffers_cat_view< detail::chunk_size0, // "0\r\n" buffers_type>; // Trailer (includes CRLF) diff --git a/include/boost/beast/http/impl/fields.ipp b/include/boost/beast/http/impl/fields.ipp index c836b800..6d78382a 100644 --- a/include/boost/beast/http/impl/fields.ipp +++ b/include/boost/beast/http/impl/fields.ipp @@ -10,7 +10,7 @@ #ifndef BOOST_BEAST_HTTP_IMPL_FIELDS_IPP #define BOOST_BEAST_HTTP_IMPL_FIELDS_IPP -#include +#include #include #include #include @@ -142,7 +142,7 @@ public: } }; - using view_type = buffer_cat_view< + using view_type = buffers_cat_view< boost::asio::const_buffers_1, boost::asio::const_buffers_1, boost::asio::const_buffers_1, diff --git a/include/boost/beast/http/serializer.hpp b/include/boost/beast/http/serializer.hpp index 6042dcf9..7ccae76d 100644 --- a/include/boost/beast/http/serializer.hpp +++ b/include/boost/beast/http/serializer.hpp @@ -11,7 +11,7 @@ #define BOOST_BEAST_HTTP_SERIALIZER_HPP #include -#include +#include #include #include #include @@ -120,7 +120,7 @@ private: Fields::reader::const_buffers_type>; // header using pcb1_t = buffers_prefix_view; - using cb2_t = buffers_suffix>; // body using pcb2_t = buffers_prefix_view; @@ -129,7 +129,7 @@ private: typename reader::const_buffers_type>; // body using pcb3_t = buffers_prefix_view; - using cb4_t = buffers_suffix>; // crlf using pcb4_t = buffers_prefix_view; - using cb5_t = buffers_suffix>; // crlf using pcb5_t = buffers_prefix_view; - using cb6_t = buffers_suffix>; // crlf using pcb6_t = buffers_prefix_view; - using cb7_t = buffers_suffix>; // crlf using pcb7_t = buffers_prefix_view; - using cb8_t = buffers_suffix>; // crlf diff --git a/include/boost/beast/http/write.hpp b/include/boost/beast/http/write.hpp index 8e6469dc..f163a302 100644 --- a/include/boost/beast/http/write.hpp +++ b/include/boost/beast/http/write.hpp @@ -11,7 +11,7 @@ #define BOOST_BEAST_HTTP_WRITE_HPP #include -#include +#include #include #include #include diff --git a/include/boost/beast/websocket/impl/stream.ipp b/include/boost/beast/websocket/impl/stream.ipp index f399d9ff..65a1831c 100644 --- a/include/boost/beast/websocket/impl/stream.ipp +++ b/include/boost/beast/websocket/impl/stream.ipp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/include/boost/beast/websocket/impl/write.ipp b/include/boost/beast/websocket/impl/write.ipp index 0525d571..cc314c54 100644 --- a/include/boost/beast/websocket/impl/write.ipp +++ b/include/boost/beast/websocket/impl/write.ipp @@ -11,7 +11,7 @@ #define BOOST_BEAST_WEBSOCKET_IMPL_WRITE_IPP #include -#include +#include #include #include #include @@ -246,7 +246,7 @@ operator()( // Send frame BOOST_ASIO_CORO_YIELD boost::asio::async_write(ws_.stream_, - buffer_cat(ws_.wr_fb_.data(), cb_), + buffers_cat(ws_.wr_fb_.data(), cb_), std::move(*this)); if(! ws_.check_ok(ec)) goto upcall; @@ -271,7 +271,7 @@ operator()( // Send frame BOOST_ASIO_CORO_YIELD boost::asio::async_write( - ws_.stream_, buffer_cat( + ws_.stream_, buffers_cat( ws_.wr_fb_.data(), buffers_prefix( clamp(fh_.len), cb_)), std::move(*this)); @@ -320,7 +320,7 @@ operator()( // Send frame header and partial payload BOOST_ASIO_CORO_YIELD boost::asio::async_write( - ws_.stream_, buffer_cat(ws_.wr_fb_.data(), + ws_.stream_, buffers_cat(ws_.wr_fb_.data(), buffer(ws_.wr_buf_.get(), n)), std::move(*this)); if(! ws_.check_ok(ec)) @@ -371,7 +371,7 @@ operator()( // Send frame BOOST_ASIO_CORO_YIELD boost::asio::async_write(ws_.stream_, - buffer_cat(ws_.wr_fb_.data(), + buffers_cat(ws_.wr_fb_.data(), buffer(ws_.wr_buf_.get(), n)), std::move(*this)); if(! ws_.check_ok(ec)) @@ -435,7 +435,7 @@ operator()( // Send frame BOOST_ASIO_CORO_YIELD boost::asio::async_write(ws_.stream_, - buffer_cat(ws_.wr_fb_.data(), + buffers_cat(ws_.wr_fb_.data(), mutable_buffers_1{b}), std::move(*this)); if(! ws_.check_ok(ec)) goto upcall; @@ -580,7 +580,7 @@ write_some(bool fin, flat_static_buffer_base>(fh_buf, fh); wr_cont_ = ! fin; boost::asio::write(stream_, - buffer_cat(fh_buf.data(), b), ec); + buffers_cat(fh_buf.data(), b), ec); if(! check_ok(ec)) return bytes_transferred; if(! more) @@ -607,7 +607,7 @@ write_some(bool fin, flat_static_buffer_base>(fh_buf, fh); wr_cont_ = ! fin; boost::asio::write(stream_, - buffer_cat(fh_buf.data(), buffers), ec); + buffers_cat(fh_buf.data(), buffers), ec); if(! check_ok(ec)) return bytes_transferred; bytes_transferred += remain; @@ -629,7 +629,7 @@ write_some(bool fin, flat_static_buffer_base>(fh_buf, fh); wr_cont_ = ! fin; boost::asio::write(stream_, - buffer_cat(fh_buf.data(), + buffers_cat(fh_buf.data(), buffers_prefix(n, cb)), ec); if(! check_ok(ec)) return bytes_transferred; @@ -663,7 +663,7 @@ write_some(bool fin, detail::mask_inplace(b, key); wr_cont_ = ! fin; boost::asio::write(stream_, - buffer_cat(fh_buf.data(), b), ec); + buffers_cat(fh_buf.data(), b), ec); if(! check_ok(ec)) return bytes_transferred; bytes_transferred += n; @@ -705,7 +705,7 @@ write_some(bool fin, detail::write< flat_static_buffer_base>(fh_buf, fh); boost::asio::write(stream_, - buffer_cat(fh_buf.data(), b), ec); + buffers_cat(fh_buf.data(), b), ec); if(! check_ok(ec)) return bytes_transferred; bytes_transferred += n; diff --git a/test/beast/core/CMakeLists.txt b/test/beast/core/CMakeLists.txt index 4727e464..f7450209 100644 --- a/test/beast/core/CMakeLists.txt +++ b/test/beast/core/CMakeLists.txt @@ -20,9 +20,9 @@ add_executable (tests-beast-core file_test.hpp async_result.cpp bind_handler.cpp - buffer_cat.cpp buffered_read_stream.cpp buffers_adapter.cpp + buffers_cat.cpp buffers_prefix.cpp buffers_suffix.cpp error.cpp diff --git a/test/beast/core/Jamfile b/test/beast/core/Jamfile index fa55b3b1..771273ad 100644 --- a/test/beast/core/Jamfile +++ b/test/beast/core/Jamfile @@ -10,9 +10,9 @@ local SOURCES = async_result.cpp bind_handler.cpp - buffer_cat.cpp buffered_read_stream.cpp buffers_adapter.cpp + buffers_cat.cpp buffers_prefix.cpp buffers_suffix.cpp error.cpp diff --git a/test/beast/core/buffer_cat.cpp b/test/beast/core/buffers_cat.cpp similarity index 95% rename from test/beast/core/buffer_cat.cpp rename to test/beast/core/buffers_cat.cpp index 2f95a32d..7d1c1fef 100644 --- a/test/beast/core/buffer_cat.cpp +++ b/test/beast/core/buffers_cat.cpp @@ -8,7 +8,7 @@ // // Test that header file is self-contained. -#include +#include #include #include @@ -21,7 +21,7 @@ namespace boost { namespace beast { -class buffer_cat_test : public unit_test::suite +class buffers_cat_test : public unit_test::suite { public: template @@ -100,7 +100,7 @@ public: std::list b5{ const_buffer{buf+9, 1}}; std::list b6; - auto bs = buffer_cat( + auto bs = buffers_cat( b1, b2, b3, b4, b5, b6); BEAST_EXPECT(buffer_size(bs) == 10); BEAST_EXPECT(bsize1(bs) == 10); @@ -116,11 +116,11 @@ public: auto bs3(std::move(bs)); { boost::asio::streambuf sb1, sb2; - BEAST_EXPECT(buffer_size(buffer_cat( + BEAST_EXPECT(buffer_size(buffers_cat( sb1.prepare(5), sb2.prepare(7))) == 12); sb1.commit(5); sb2.commit(7); - BEAST_EXPECT(buffer_size(buffer_cat( + BEAST_EXPECT(buffer_size(buffers_cat( sb1.data(), sb2.data())) == 12); } for(auto it = bs.begin(); it != bs.end(); ++it) @@ -145,7 +145,7 @@ public: const_buffer{buf+3, 1}, const_buffer{buf+4, 2}, const_buffer{buf+6, 3}}}; - auto bs = buffer_cat(b1, b2); + auto bs = buffers_cat(b1, b2); for(int n = 0; n <= std::distance(bs.begin(), bs.end()); ++n) { @@ -243,7 +243,7 @@ public: // sequences results in a mutable buffer sequence BOOST_STATIC_ASSERT(std::is_same< mutable_buffer, - decltype(buffer_cat( + decltype(buffers_cat( std::declval(), std::declval(), std::declval() @@ -253,7 +253,7 @@ public: // sequences results in a const buffer sequence. BOOST_STATIC_ASSERT(std::is_same< const_buffer, - decltype(buffer_cat( + decltype(buffers_cat( std::declval(), std::declval(), std::declval() @@ -264,7 +264,7 @@ public: } }; -BEAST_DEFINE_TESTSUITE(beast,core,buffer_cat); +BEAST_DEFINE_TESTSUITE(beast,core,buffers_cat); } // beast } // boost diff --git a/test/beast/core/buffers_suffix.cpp b/test/beast/core/buffers_suffix.cpp index b6825f5d..fdd1225b 100644 --- a/test/beast/core/buffers_suffix.cpp +++ b/test/beast/core/buffers_suffix.cpp @@ -12,7 +12,7 @@ #include "buffer_test.hpp" -#include +#include #include #include #include @@ -133,7 +133,7 @@ public: testInPlace() { using namespace test; - buffers_suffix> cb( boost::in_place_init, diff --git a/test/beast/http/basic_parser.cpp b/test/beast/http/basic_parser.cpp index 942f714d..349a95c7 100644 --- a/test/beast/http/basic_parser.cpp +++ b/test/beast/http/basic_parser.cpp @@ -13,7 +13,7 @@ #include "message_fuzz.hpp" #include "test_parser.hpp" -#include +#include #include #include #include @@ -193,7 +193,7 @@ public: error_code ec; buffers_suffix cb{buffers}; cb.consume(i); - auto n = p.put(buffer_cat( + auto n = p.put(buffers_cat( buffers_prefix(i, buffers), cb), ec); if(! BEAST_EXPECTS(! ec, ec.message())) continue; @@ -265,7 +265,7 @@ public: Parser p; p.eager(true); error_code ec; - p.put(buffer_cat( + p.put(buffers_cat( boost::asio::const_buffers_1{msg.data(), i}, boost::asio::const_buffers_1{ msg.data() + i, msg.size() - i}), ec); @@ -948,7 +948,7 @@ public: "hello", expect_body(*this, "hello")); - parsegrind>(buffer_cat( + parsegrind>(buffers_cat( buf("GET / HTTP/1.1\r\n" "Content-Length: 10\r\n" "\r\n"),