Skip to content

Commit

Permalink
add christian's 2024 q2 update
Browse files Browse the repository at this point in the history
  • Loading branch information
cmazakas authored and louistatta committed Jul 10, 2024
1 parent 5359a3c commit a297bde
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions _posts/2024-07-10-ChristiansQ2Update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
layout: post
nav-class: dark
categories: christian
title: Christian's Q2 2024 Update
author-id: christian
author-name: Christian Mazakas
---

# Boost.Http.Proto

This last quarter I worked primarily in the http-proto library, this time extending
serialization to include chunking and zlib compression routines: deflate and gzip.

This is the first time I've ever used zlib so it was definitely a learning experience
but it's given me valuable insights into how other libraries of this nature work.

More importantly was reifying the application of such dynamic code with the existing
code which supports many possible permutations.

Serialization in http-proto enables users to consume output in myriad different ways
and the output itself can be framed and transformed as well. This forms a product
space, in all actuality, so it was quite a feat to unify the core logic. The secret
was operating in terms of distinct input and output buffer spaces, which could
sometimes alias.

# Boost.Compat

I also dedicated some time into working on Boost's Compat module, which is home
to several different kinds of polyfills of C++ constructs introduced in later
C++ standards.

This time I worked on `function_ref` and as far as I'm aware, I'm the first
implementor of such a facility. The class seems very simple on the surface. Just
a simple non-owning type-erased view of a Callable object but the devil is always
in the details.

`const` and `noexcept` each change the actual type of the function signature used
so again, I had to test another proudct space. The testing burden for many of these
components is quite high and while there are some, it'll be interesting to see if
anyone actually uses this facility and how well it fares.

Interestingly, `function_ref` actually has a form of currying with regards to member
access and objects. This doesn't seem well-known and actually came as a surprise to
me.

---

There's a lot more to look forward to later in the year and I'll be excited to
write the next update.

- Christian

0 comments on commit a297bde

Please sign in to comment.