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 никому не нужен и никем не используется. Это не так.
>>> Подробности
Версия 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 никому не нужен и никем не используется. Это не так.
>>> Подробности
Ещё новости по теме:
18:20