Skip to content

Commit d90cfcf

Browse files
committed
reduce chunk header size based on buffer capacity
resolves #141
1 parent f742d7c commit d90cfcf

5 files changed

Lines changed: 220 additions & 275 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1125,7 +1125,7 @@ jobs:
11251125
include:
11261126
- { name: Windows, os: windows-latest }
11271127
- { name: Ubuntu, os: ubuntu-latest }
1128-
- { name: MacOS, os: macos-latest }
1128+
- { name: MacOS, os: macos-15 }
11291129
name: Antora Docs (${{ matrix.name }})
11301130
runs-on: ${{ fromJSON(needs.runner-selection.outputs.labelmatrix)[matrix.os] }}
11311131
defaults:

include/boost/http_proto/serializer.hpp

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,21 @@ class serializer
358358
start_source(
359359
message_view_base const&);
360360

361+
void
362+
out_init();
363+
364+
buffers::mutable_buffer_pair
365+
out_prepare() noexcept;
366+
367+
void
368+
out_commit(std::size_t) noexcept;
369+
370+
std::size_t
371+
out_capacity() const noexcept;
372+
373+
void
374+
out_finish() noexcept;
375+
361376
enum class style
362377
{
363378
empty,
@@ -371,16 +386,17 @@ class serializer
371386

372387
detail::workspace ws_;
373388

374-
const_buf_gen_base* buf_gen_;
375389
detail::filter* filter_;
390+
const_buf_gen_base* buf_gen_;
376391
source* source_;
377392

378-
buffers::circular_buffer cb0_;
379-
buffers::circular_buffer cb1_;
393+
buffers::circular_buffer out_;
394+
buffers::circular_buffer in_;
380395
detail::array_of_const_buffers prepped_;
381396
buffers::const_buffer tmp_;
382397

383398
style st_;
399+
uint8_t chunk_header_len_;
384400
bool more_input_;
385401
bool is_done_;
386402
bool is_header_done_;

0 commit comments

Comments
 (0)