Skip to content

Design document for the new serialzier #288

Description

@ashtum

The http serializer in the burl project are improved versions of those in this project. We need a design document that explains the rationale behind each change.

The document should include (not limited to) changes like:

  • Bodies can now be sourced from external buffers without any copies.
  • Messages with an unknown length that fit in the internal buffer get a proper Content-Length field before sending.
  • Messages with an encoder can skip encoding when the finished payload is smaller than config::enc_thr.
  • Small buffers are coalesced before writing to reduce the number of writes.
  • Chunked framing now supports trailer headers.
  • The config struct is now lean and copied into the serializer, eliminating the need for a shared config object.
  • Each message receives its encoder through a polymorphic interface instead of reaching for installed services; the caller is responsible for constructing and supplying the appropriate encoder when needed.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

  • Status
    In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions