diff --git a/include/boost/http_proto/detail/impl/array_of_buffers.hpp b/include/boost/http_proto/detail/impl/array_of_buffers.hpp index a918626d..f7db1740 100644 --- a/include/boost/http_proto/detail/impl/array_of_buffers.hpp +++ b/include/boost/http_proto/detail/impl/array_of_buffers.hpp @@ -10,6 +10,7 @@ #ifndef BOOST_HTTP_PROTO_DETAIL_IMPL_ARRAY_OF_BUFFERS_HPP #define BOOST_HTTP_PROTO_DETAIL_IMPL_ARRAY_OF_BUFFERS_HPP +#include #include #include @@ -100,7 +101,7 @@ consume(std::size_t n) { if(n < p_->size()) { - *p_ += n; + *p_ = buffers::sans_prefix(*p_, n); return; } n -= p_->size(); diff --git a/include/boost/http_proto/serializer.hpp b/include/boost/http_proto/serializer.hpp index c496169a..e0b7a76b 100644 --- a/include/boost/http_proto/serializer.hpp +++ b/include/boost/http_proto/serializer.hpp @@ -369,7 +369,7 @@ class BOOST_SYMBOL_VISIBLE auto stream = sr.start_stream(req); std::string_view msg = "Hello, world!"; - auto n = buffers::buffer_copy( + auto n = buffers::copy( stream.prepare(), buffers::make_buffer( msg.data(), msg.size())); diff --git a/src/detail/impl/filter.hpp b/src/detail/impl/filter.hpp index 5eac87e2..8fe15e1f 100644 --- a/src/detail/impl/filter.hpp +++ b/src/detail/impl/filter.hpp @@ -11,7 +11,8 @@ #ifndef BOOST_HTTP_PROTO_DETAIL_IMPL_FILTER_HPP #define BOOST_HTTP_PROTO_DETAIL_IMPL_FILTER_HPP -#include +#include +#include namespace boost { namespace http_proto { diff --git a/src/file_body.cpp b/src/file_body.cpp index f333008b..9aec7d97 100644 --- a/src/file_body.cpp +++ b/src/file_body.cpp @@ -8,7 +8,6 @@ // #include -#include #include namespace boost { diff --git a/src/parser.cpp b/src/parser.cpp index 539f21c7..d5312ce3 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -16,9 +16,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -1205,7 +1205,7 @@ parse( { case how::in_place: { - auto copied = buffers::buffer_copy( + auto copied = buffers::copy( cb1_.prepare(cb1_.capacity()), chunk); chunk_remain_ -= copied; @@ -1249,7 +1249,7 @@ parse( st_ = state::reset; return; } - buffers::buffer_copy( + buffers::copy( eb_->prepare(chunk_avail), chunk); chunk_remain_ -= chunk_avail; @@ -1366,7 +1366,7 @@ parse( } // only happens when an elastic body // is attached in header_done state - buffers::buffer_copy( + buffers::copy( eb_->prepare(payload_avail), cb0_.data()); cb0_.consume(payload_avail); @@ -1436,7 +1436,7 @@ parse( error::buffer_overflow); return; } - buffers::buffer_copy( + buffers::copy( eb_->prepare(body_avail_), body_buf.data()); body_buf.consume(body_avail_); diff --git a/src/serializer.cpp b/src/serializer.cpp index 86dd1f38..8682778e 100644 --- a/src/serializer.cpp +++ b/src/serializer.cpp @@ -16,9 +16,9 @@ #include "detail/filter.hpp" -#include -#include -#include +#include +#include +#include #include #include @@ -108,7 +108,7 @@ consume_buffers( { if(bytes < p->size()) { - *p += bytes; + *p = buffers::sans_prefix(*p, bytes); return; } bytes -= p->size(); @@ -138,14 +138,14 @@ write_chunk_header( } buf[16] = '\r'; buf[17] = '\n'; - auto n = buffers::buffer_copy( + auto n = buffers::copy( dest0, buffers::const_buffer( buf, sizeof(buf))); ignore_unused(n); BOOST_ASSERT(n == 18); BOOST_ASSERT( - buffers::buffer_size(dest0) == n); + buffers::size(dest0) == n); } template @@ -153,7 +153,7 @@ void write_chunk_close(DynamicBuffer& db) { db.commit( - buffers::buffer_copy( + buffers::copy( db.prepare(2), buffers::const_buffer("\r\n", 2))); } @@ -163,7 +163,7 @@ void write_last_chunk(DynamicBuffer& db) { db.commit( - buffers::buffer_copy( + buffers::copy( db.prepare(5), buffers::const_buffer("0\r\n\r\n", 5))); } @@ -246,7 +246,7 @@ prepare() -> // TODO: This is a temporary solution until we refactor // the implementation for efficient partial buffer consumption. - if( is_chunked_ && buffers::buffer_size(prepped_) && is_header_done_ ) + if( is_chunked_ && buffers::size(prepped_) && is_header_done_ ) return const_buffers_type( prepped_.data(), prepped_.size()); @@ -278,7 +278,7 @@ prepare() -> { if( st_ == style::buffers ) { - if( buffers::buffer_size(buf_) == 0 ) + if( buffers::size(buf_) == 0 ) return {}; auto buf = *(buf_.data()); @@ -322,7 +322,7 @@ prepare() -> if( st_ == style::buffers ) { buf_.consume(n); - if( buffers::buffer_size(buf_) == 0 ) + if( buffers::size(buf_) == 0 ) more_ = false; } else @@ -404,7 +404,7 @@ prepare() -> auto cbs = const_buffers_type( prepped_.data(), prepped_.size()); - BOOST_ASSERT(buffers::buffer_size(cbs) > 0); + BOOST_ASSERT(buffers::size(cbs) > 0); return cbs; } @@ -444,7 +444,7 @@ consume( BOOST_ASSERT(st_ != style::empty); out_->consume(n); } - auto is_empty = (buffers::buffer_size(prepped_) == 0); + auto is_empty = (buffers::size(prepped_) == 0); if( st_ == style::buffers && !filter_ && is_empty ) more_ = false; @@ -529,9 +529,9 @@ start_init( p + chunk_header_len_ + crlf_len_, last_chunk_len_); - buffers::buffer_copy( + buffers::copy( chunk_close_, buffers::const_buffer("\r\n", 2)); - buffers::buffer_copy( + buffers::copy( last_chunk_, buffers::const_buffer("0\r\n\r\n", 5)); } @@ -564,7 +564,7 @@ start_empty( buffers::mutable_buffer dest( ws_.data(), 5); - buffers::buffer_copy( + buffers::copy( dest, buffers::const_buffer( "0\r\n\r\n", 5)); @@ -594,13 +594,13 @@ start_buffers( copy(&prepped_[1], buf_.data(), buf_.size()); - more_ = (buffers::buffer_size(buf_) > 0); + more_ = (buffers::size(buf_) > 0); return; } if( !filter_ && is_chunked_ ) { - if( buffers::buffer_size(buf_) == 0 ) + if( buffers::size(buf_) == 0 ) { prepped_ = make_array( 1 + // header @@ -614,7 +614,7 @@ start_buffers( } write_chunk_header( - chunk_header_, buffers::buffer_size(buf_)); + chunk_header_, buffers::size(buf_)); prepped_ = make_array( 1 + // header diff --git a/test/unit/parser.cpp b/test/unit/parser.cpp index 595950e3..820dcf08 100644 --- a/test/unit/parser.cpp +++ b/test/unit/parser.cpp @@ -14,8 +14,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -241,7 +241,7 @@ struct parser_test { core::string_view& s = in[0]; auto const n = - buffers::buffer_copy( + buffers::copy( pr.prepare(), buffers::make_buffer( s.data(), s.size())); @@ -302,7 +302,7 @@ struct parser_test pr.reset(); pr.start(); auto const n = - buffers::buffer_copy( + buffers::copy( pr.prepare(), buffers::make_buffer( s.data(), s.size())); @@ -461,7 +461,7 @@ struct parser_test BOOST_TEST_NO_THROW( dest = pr.prepare()); BOOST_TEST_EQ( - buffers::buffer_size(dest), n); + buffers::size(dest), n); }; // @@ -512,7 +512,7 @@ struct parser_test BOOST_TEST_NO_THROW( dest = pr.prepare()); BOOST_TEST_EQ( - buffers::buffer_size(dest), n); + buffers::size(dest), n); }; { @@ -590,7 +590,7 @@ struct parser_test BOOST_TEST_NO_THROW( dest = pr->prepare()); BOOST_TEST_EQ( - buffers::buffer_size(dest), n); + buffers::size(dest), n); } // the parser must be manually reset() to clear its inner workspace @@ -685,7 +685,7 @@ struct parser_test BOOST_TEST(ec == error::need_data); auto dest = pr.prepare(); BOOST_TEST_LE( - buffers::buffer_size(dest), + buffers::size(dest), s.capacity()); pr.reset(); } @@ -757,7 +757,7 @@ struct parser_test auto dest = pr.prepare(); BOOST_TEST_THROWS( pr.commit( - buffers::buffer_size(dest) + 1), + buffers::size(dest) + 1), std::invalid_argument); } @@ -788,7 +788,7 @@ struct parser_test pr.start(); auto dest = pr.prepare(); BOOST_TEST_GE( - buffers::buffer_size(dest), 1); + buffers::size(dest), 1); BOOST_TEST_NO_THROW( pr.commit(1)); } @@ -813,7 +813,7 @@ struct parser_test auto dest = pr.prepare(); BOOST_TEST_THROWS( pr.commit( - buffers::buffer_size(dest) + 1), + buffers::size(dest) + 1), std::invalid_argument); } @@ -1005,7 +1005,7 @@ struct parser_test ignore_unused(dest); BOOST_TEST_THROWS( pr.commit( - buffers::buffer_size(dest) + 1), + buffers::size(dest) + 1), std::invalid_argument); } } @@ -1884,7 +1884,7 @@ struct parser_test octets += std::string(100, 'a'); remaining -= 100; - pr.commit(buffers::buffer_copy( + pr.commit(buffers::copy( pr.prepare(), buffers::const_buffer( octets.data(), octets.size()))); @@ -1897,7 +1897,7 @@ struct parser_test BOOST_TEST(!pr.is_complete()); pr.consume_body( - buffers::buffer_size(pr.pull_body()) + buffers::size(pr.pull_body()) - 1); // left one byte so the circular buffer doesn't reset octets.clear(); @@ -1909,7 +1909,7 @@ struct parser_test octets += make_header(i % 100); octets += std::string(i % 100, 'a'); - pr.commit(buffers::buffer_copy( + pr.commit(buffers::copy( pr.prepare(), buffers::const_buffer( octets.data(), octets.size()))); @@ -1988,7 +1988,7 @@ struct parser_test octets += to_hex(1); remaining -= 100; - pr.commit(buffers::buffer_copy( + pr.commit(buffers::copy( pr.prepare(), buffers::const_buffer( octets.data(), octets.size()))); @@ -2001,7 +2001,7 @@ struct parser_test BOOST_TEST(!pr.is_complete()); pr.consume_body( - buffers::buffer_size(pr.pull_body())); + buffers::size(pr.pull_body())); octets.clear(); } @@ -2014,7 +2014,7 @@ struct parser_test octets += make_chunk(i % 100 + 1); octets += make_chunk(0); - pr.commit(buffers::buffer_copy( + pr.commit(buffers::copy( pr.prepare(), buffers::const_buffer( octets.data(), octets.size()))); diff --git a/test/unit/serializer.cpp b/test/unit/serializer.cpp index 382cf719..f23bc272 100644 --- a/test/unit/serializer.cpp +++ b/test/unit/serializer.cpp @@ -13,9 +13,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -50,7 +50,7 @@ struct serializer_test BOOST_TEST(! is_done_); results rv; rv.bytes = - buffers::buffer_copy( + buffers::copy( b, buffers::make_buffer( s_.data(), @@ -97,9 +97,9 @@ struct serializer_test ConstBuffers const& src) { auto n0 = dest.size(); - auto n = buffers::buffer_size(src); + auto n = buffers::size(src); dest.resize(n0 + n); - buffers::buffer_copy( + buffers::copy( buffers::mutable_buffer( &dest[n0], n), src); return n; @@ -329,13 +329,13 @@ struct serializer_test BOOST_TEST(!stream.is_full()); auto mbs = stream.prepare(); - auto bs = buffers::buffer_size(mbs); + auto bs = buffers::size(mbs); BOOST_TEST_GT(bs, 0); if( bs > body.size() ) bs = body.size(); - buffers::buffer_copy( + buffers::copy( mbs, buffers::const_buffer(body.data(), bs)); stream.commit(bs); @@ -368,9 +368,9 @@ struct serializer_test while( buf.size() > 0 ) { auto num_copied = - buffers::buffer_copy(out_buf, buf); + buffers::copy(out_buf, buf); - buf += num_copied; + buf = buffers::sans_prefix(buf, num_copied); s.insert( s.end(), @@ -398,7 +398,7 @@ struct serializer_test auto cbs = mcbs.value(); auto end = cbs.end(); - auto size = buffers::buffer_size(cbs); + auto size = buffers::size(cbs); BOOST_TEST_GT(size, 0); for(auto pos = cbs.begin(); pos != end; ++pos) @@ -730,7 +730,7 @@ struct serializer_test rv = sr.prepare(); BOOST_TEST(! rv.has_error()); BOOST_TEST_EQ( - buffers::buffer_size(*rv), 0); + buffers::size(*rv), 0); BOOST_TEST(! sr.is_done()); sr.consume(0); BOOST_TEST(sr.is_done()); @@ -780,7 +780,7 @@ struct serializer_test auto stream = sr.start_stream(res); auto mbs = stream.prepare(); BOOST_TEST_GT( - buffers::buffer_size(mbs), 0); + buffers::size(mbs), 0); BOOST_TEST(!stream.is_full()); BOOST_TEST_THROWS( stream.commit(0), std::logic_error); @@ -794,12 +794,12 @@ struct serializer_test mcbs = sr.prepare(); auto cbs = mcbs.value(); BOOST_TEST_EQ( - buffers::buffer_size(cbs), + buffers::size(cbs), serialized.size()); std::vector s( - buffers::buffer_size(cbs), 'a'); - buffers::buffer_copy( + buffers::size(cbs), 'a'); + buffers::copy( buffers::make_buffer( s.data(), s.size()), cbs); diff --git a/test/unit/source.cpp b/test/unit/source.cpp index 9185bf46..e0feddad 100644 --- a/test/unit/source.cpp +++ b/test/unit/source.cpp @@ -44,8 +44,8 @@ struct source_test return rv; } auto const n = - buffers::buffer_copy(b, cb_); - cb_ += n; + buffers::copy(b, cb_); + cb_ = buffers::sans_prefix(cb_, n); rv.bytes += n; rv.finished = cb_.size() == 0; return rv; diff --git a/test/unit/test_helpers.hpp b/test/unit/test_helpers.hpp index db5c1cab..c26b9ca5 100644 --- a/test/unit/test_helpers.hpp +++ b/test/unit/test_helpers.hpp @@ -13,8 +13,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -41,8 +41,8 @@ std::string test_to_string(Buffers const& bs) { std::string s( - buffers::buffer_size(bs), 0); - s.resize(buffers::buffer_copy( + buffers::size(bs), 0); + s.resize(buffers::copy( buffers::make_buffer(&s[0], s.size()), bs)); return s; diff --git a/test/unit/zlib.cpp b/test/unit/zlib.cpp index e2ede0c1..3262d635 100644 --- a/test/unit/zlib.cpp +++ b/test/unit/zlib.cpp @@ -38,9 +38,8 @@ TEST_SUITE( #include #include -#include -#include -#include +#include +#include #include #include #include @@ -231,7 +230,7 @@ struct zlib_test on_read(buffers::mutable_buffer b) { results rs; - auto n = buffers::buffer_copy( + auto n = buffers::copy( b, buffers::const_buffer( body_view_.data(), @@ -256,14 +255,14 @@ struct zlib_test while(! body_view.empty() || ! sr.is_done() ) { auto cbs = sr.prepare().value(); - BOOST_TEST_GT(buffers::buffer_size(cbs), 0); + BOOST_TEST_GT(buffers::size(cbs), 0); - auto n2 = buffers::buffer_copy( + auto n2 = buffers::copy( output_buf, cbs); - BOOST_TEST_EQ(n2, buffers::buffer_size(cbs)); + BOOST_TEST_EQ(n2, buffers::size(cbs)); sr.consume(n2); - output_buf += n2; + output_buf = buffers::sans_prefix(output_buf, n2); } return output_buf; } @@ -284,7 +283,7 @@ struct zlib_test while(! body_view.empty() ) { auto mbs = stream.prepare(); - auto n = buffers::buffer_copy( + auto n = buffers::copy( mbs, buffers::const_buffer( body_view.data(), std::min( @@ -295,13 +294,13 @@ struct zlib_test stream.commit(n); auto cbs = sr.prepare().value(); - BOOST_TEST_GT(buffers::buffer_size(cbs), 0); + BOOST_TEST_GT(buffers::size(cbs), 0); - auto n2 = buffers::buffer_copy( + auto n2 = buffers::copy( output_buf, cbs); - BOOST_TEST_EQ(n2, buffers::buffer_size(cbs)); + BOOST_TEST_EQ(n2, buffers::size(cbs)); sr.consume(n2); - output_buf += n2; + output_buf = buffers::sans_prefix(output_buf, n2); body_view = body_view.subspan(n); } stream.close(); @@ -309,11 +308,11 @@ struct zlib_test while(! sr.is_done() ) { auto cbs = sr.prepare().value(); - BOOST_TEST_GT(buffers::buffer_size(cbs), 0); - auto n = buffers::buffer_copy( + BOOST_TEST_GT(buffers::size(cbs), 0); + auto n = buffers::copy( output_buf, cbs); - output_buf += n; - BOOST_TEST_EQ(n, buffers::buffer_size(cbs)); + output_buf = buffers::sans_prefix(output_buf, n); + BOOST_TEST_EQ(n, buffers::size(cbs)); sr.consume(n); } @@ -365,15 +364,15 @@ struct zlib_test while(! sr.is_done() ) { auto cbs = sr.prepare().value(); - BOOST_TEST_GT(buffers::buffer_size(cbs), 0); + BOOST_TEST_GT(buffers::size(cbs), 0); BOOST_TEST_LT( - buffers::buffer_size(cbs), + buffers::size(cbs), output_buf.size()); - auto n = buffers::buffer_copy(output_buf, cbs); - BOOST_TEST_EQ(n, buffers::buffer_size(cbs)); + auto n = buffers::copy(output_buf, cbs); + BOOST_TEST_EQ(n, buffers::size(cbs)); - output_buf += n; + output_buf = buffers::sans_prefix(output_buf, n); sr.consume(n); } return output_buf; @@ -544,7 +543,7 @@ struct zlib_test buffers::string_buffer buf(&rs); for(;;) { - auto n1 = buffers::buffer_copy( + auto n1 = buffers::copy( pr.prepare(), input); pr.commit(n1); input = buffers::sans_prefix(input, n1); @@ -558,8 +557,8 @@ struct zlib_test || ec == error::need_data); // consume in_place body - auto n2 = buffers::buffer_copy( - buf.prepare(buffers::buffer_size(pr.pull_body())), + auto n2 = buffers::copy( + buf.prepare(buffers::size(pr.pull_body())), pr.pull_body()); buf.commit(n2); pr.consume_body(n2); @@ -583,7 +582,7 @@ struct zlib_test buffers::const_buffer input) { std::string rs; - std::size_t n1 = buffers::buffer_copy( + std::size_t n1 = buffers::copy( pr.prepare(), input); input = buffers::sans_prefix(input, n1); pr.commit(n1); @@ -597,7 +596,7 @@ struct zlib_test while(ec == error::need_data) { - std::size_t n2 = buffers::buffer_copy( + std::size_t n2 = buffers::copy( pr.prepare(), input); input = buffers::sans_prefix(input, n2); pr.commit(n2); @@ -618,7 +617,7 @@ struct zlib_test response_parser& pr, buffers::const_buffer input) { - std::size_t n1 = buffers::buffer_copy( + std::size_t n1 = buffers::copy( pr.prepare(), input); input = buffers::sans_prefix(input, n1); pr.commit(n1); @@ -656,7 +655,7 @@ struct zlib_test while(ec == error::need_data) { - std::size_t n2 = buffers::buffer_copy( + std::size_t n2 = buffers::copy( pr.prepare(), input); input = buffers::sans_prefix(input, n2); pr.commit(n2); @@ -792,7 +791,7 @@ struct zlib_test "HTTP/1.1 200 OK\r\n" "Content-Encoding: deflate\r\n" "\r\n" }; - auto n = buffers::buffer_copy( + auto n = buffers::copy( pr.prepare(), buffers::const_buffer{ msg.data(), msg.size() });