Три этюда о буферизации

RU / День 1 / 13:45 / Зал 2

Рассматриваются три задачи, подсказанные автору практикой и достаточно общие, чтобы ценность представляли универсальные решения. Это буфер между источником и обработчиком сообщений, буфер для синхронизации данных между одним источником и многими потребителями, и буфер запросов, ожидающих исполнения. Все три задачи допускают элементарное решение в контексте конкретного приложения, интересные и сложные аспекты начинаются именно с попытки дать универсальное решение, допускающее настройку на широкий круг возможных применений. Демонстрируется метод отделения того, что составляет инвариантную суть задачи, от того, что отражает специфику частных случаев. Попутно показано применение таких средств, как классы свойств, совершенная передача, семантика перемещения, атомарные операции.