SObjectizer est un framework relativement léger destiné à faciliter le développement d'applications multithread complexes en C++. SObjectizer permet au développeur de construire ses programmes sur la base d'échanges asynchrones de messages en utilisant des approches telles que le modèle d'acteur, la publication-abonnement et CSP. Il s'agit d'un projet OpenSource sous licence BSD-3-CLAUSE. Une première impression de SObjectizer peut être obtenue à partir de cette présentation.
La version 5.6.0 est le premier lancement majeur de la nouvelle branche SObjectizer-5.6. Cela signifie également la fin du développement de la branche SObjectizer-5.5, qui a duré plus de quatre ans.
Puisque la version 5.6.0 ouvre un nouveau chapitre dans le développement de SObjectizer, il n'y a pas de nouvelles fonctionnalités en comparaison avec ce qui a été modifié et/ou supprimé dans SObjectizer. En particulier :
- C++17 est utilisé (auparavant, on se contentait d'un sous-ensemble de C++11);
- le projet a déménagé et vit maintenant sur BitBucket avec un miroir officiel, et non expérimental, sur GitHub;
- il n'y a plus de noms de chaînes pour les coopérations d'agents;
- le support de l'interaction synchronisée entre agents a été supprimé de SObjectizer (une analogie est réalisée dans le projet associé so5extra);
- le support des agents ad-hoc a été supprimé;
- les messages sont maintenant envoyés uniquement par les fonctions libres send, send_delayed, send_periodic (les anciennes méthodes deliver_message, schedule_timer, single_timer de l'API publique ont été retirées);
- les fonctions send_delayed et send_periodic ont maintenant un format unique indépendamment du type de destinataire (que ce soit mbox, mchain ou référence à un agent);
- une classe message_holder_t a été ajoutée pour simplifier le travail avec les messages préalloués;
- de nombreuses choses marquées comme dépréciées dans la branche 5.5 ont été supprimées;
- et divers autres éléments.
Une liste plus détaillée des changements peut être trouvée ici. Là-bas, dans le Wiki du projet, vous pouvez trouver la documentation pour la version 5.6.
Les archives de la nouvelle version de SObjectizer peuvent être récupérées sur BitBucket ou à SourceForge.
PS. Spécialement pour les sceptiques qui croient que SObjectizer n'est nécessaire pour personne et n'est utilisé par personne. C'est faux.
Source : linux.org.ru
