~/talk

Applied Modern C++: The problem of messages versioning in API

Talkat Meeting C++ 2023 · 2023-11-12..11-14· [frontend-architecture]
links:none on file
slides:none on file

A concrete Modern C++ system for bidirectional API message versioning is presented: an original CRTP-based C++11 prototype and a refactor using std::variant + std::visit in C++17. Each API version is a struct with version/check/read/write functions and explicit conversion functions chained (shortcuts allowed) so requests upgrade to the latest for computation and responses down‑convert as needed. Demo runs on Compiler Explorer, moves common fields to avoid copies, and is used to serve multiple production versions from a single executable.

AI-written summary · about

  1. 0:00Introduction
  2. 0:45API versioning challenges
  3. 3:16Clinical data analysis case
  4. 8:01API versioning solutions
  5. 11:38Upgrading message versions
  6. 16:16CRTP solution in C++11
  7. 19:11C++17 variant and visit solution
  8. 32:35Live demo: versioning implementation
  9. 39:25Lessons learned
  10. 40:27Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.