SObjectizer-5.6.0: новая мажорная версия акторного фреймворка для C++

SObjectizer — это относительно небольшой фреймворк для упрощения разработки сложных многопоточных приложений на C++. SObjectizer позволяет разработчику строить свои программы на базе асинхронного обмена сообщениями с использованием таких подходов как Actor Model, Publish-Subscribe и CSP. Это OpenSource проект под BSD-3-CLAUSE лицензией. Краткое впечатление о SObjectizer-е можно составить на основании вот этой презентации.

Версия 5.6.0 является первым мажорным релизом новой ветки SObjectizer-5.6. Что означает также завершение развития ветки SObjectizer-5.5, которая развивалась более четырех лет.

Поскольку версия 5.6.0 открывает новую главу развития SObjectizer-а, то новвоведений совсем нет в сравнении с тем, что было изменено и/или удалено из SObjectizer-а. В частности:

  • используется C++17 (ранее обходились подмножеством C++11);
  • проект переехал и живет теперь на BitBucket-е с официальным, а не экспериментальным, зеркалом на GitHub-е;
  • у коопераций агентов нет больше строковых имен;
  • из SObjectizer удалена поддержка синхронного взаимодействия между агентами (его аналог реализован в сопутствующем проекте so5extra);
  • удалена поддержка ad-hoc агентов;
  • для отсылки сообщений теперь используются только свободные функции send, send_delayed, send_periodic (старые методы deliver_message, schedule_timer, single_timer из публичного API изъяты);
  • функции send_delayed и send_periodic теперь имеют единый формат вне зависимости от типа получателя сообщения (будь то mbox, mchain или ссылка на агента);
  • добавлен класс message_holder_t для упрощения работы с преаллоцированными сообщениями;
  • удалено множество вещей, которые были помечены как deprecated еще в ветке 5.5;
  • ну и еще всякое разное.

Более развернутый список изменений можно найти тут. Там же, в Wiki проекта, можно найти документацию по версии 5.6.


Архивы с новой версией SObjectizer можно взять на BitBucket-е или на SourceForge.


PS. Специально для скептиков, которые считают, что SObjectizer никому не нужен и никем не используется. Это не так.

Источник: linux.org.ru

Добавить комментарий