Etudes on buffering: asynchronous notifications, update replication, collation of pending requests

Practical application development can lead to tasks that, after analysis, appears to be general enough to extract an abstraction that is potentially useful for multiple applications. Bringing the solution to the level suitable for reusing (in contrast to an ad hoc solution for one particular application) can involve more mental efforts to extract variative details of the tasks and to express them in the programming language. The talk shares implementation of three abstractions relating to one topic, namely storing data in a buffer in concurrent programming. The way from task analysis to implementation in C++17 is shown.

Скачать презентацию

Vadim Vinnik

Lead developer at SolarWinds, Ph.D. in physical and mathematical sciences, author of books and scientific publications on theory of programming; translator of books on programming; university lecturer on programming and some supporting areas of mathematics. Favourite programming languages: C++ and Haskell.

Vadim Vinnik CoreHard C++ Community