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