SObjectizer es un marco relativamente pequeño diseñado para facilitar el desarrollo de aplicaciones multihilo complejas en C++. SObjectizer permite al desarrollador construir sus programas sobre la base de un intercambio de mensajes asíncrono utilizando enfoques como el Modelo de Actor, Publicar-Suscribir y CSP. Este es un proyecto de código abierto bajo la licencia BSD-3-CLAUSE. Una impresión breve sobre SObjectizer se puede formar a partir de esta presentación.
La versión 5.6.0 es el primer lanzamiento mayor de la nueva rama SObjectizer-5.6. Lo que también significa la conclusión del desarrollo de la rama SObjectizer-5.5, la cual se desarrolló durante más de cuatro años.
Dado que la versión 5.6.0 abre un nuevo capítulo en el desarrollo de SObjectizer, no hay novedades en comparación con lo que ha sido cambiado y/o eliminado de SObjectizer. En particular:
- se utiliza C++17 (anteriormente se empleaba un subconjunto de C++11);
- el proyecto se ha trasladado y ahora reside en BitBucket con un espejo oficial y no experimental en GitHub;
- los agentes ya no tienen nombres de cadenas;
- se ha eliminado el soporte para la interacción sincrónica entre agentes de SObjectizer (su análogo se ha implementado en el proyecto asociado so5extra);
- se ha eliminado el soporte para agentes ad-hoc;
- para el envío de mensajes ahora se utilizan solamente las funciones libres send, send_delayed, send_periodic (los antiguos métodos deliver_message, schedule_timer, single_timer han sido retirados de la API pública);
- las funciones send_delayed y send_periodic ahora tienen un formato único independientemente del tipo de destinatario del mensaje (ya sea mbox, mchain o referencia al agente);
- se ha agregado la clase message_holder_t para simplificar el trabajo con mensajes prealocados;
- se han eliminado muchas cosas que habían sido marcadas como obsoletas en la rama 5.5;
- y más cosas diversas.
Puedes encontrar una lista más detallada de cambios aquí. Allí mismo, en la Wiki del proyecto, puedes encontrar la documentación para la versión 5.6.
Se pueden obtener los archivos de la nueva versión de SObjectizer en BitBucket o a SourceForge.
PS. Especialmente para los escépticos que creen que SObjectizer no es necesario y no es utilizado por nadie. Esto no es cierto.
Fuente: linux.org.ru
