SOggettatore è un framework relativamente piccolo per semplificare lo sviluppo di complesse applicazioni multi-thread in C++. SObjectizer consente allo sviluppatore di creare i propri programmi basati sulla messaggistica asincrona utilizzando approcci come Actor Model, Publish-Subscribe e CSP. Questo è un progetto OpenSource con licenza BSD-3-CLAUSE. È possibile creare una breve impressione di SObjectizer in base a questa presentazione.
La versione 5.6.0 è la prima major release del nuovo ramo SObjectizer-5.6. Ciò significa anche il completamento dello sviluppo del ramo SObjectizer-5.5, in sviluppo da più di quattro anni.
Poiché la versione 5.6.0 apre un nuovo capitolo nello sviluppo di SObjectizer, non ci sono innovazioni rispetto a quanto è stato modificato e/o rimosso da SObjectizer. In particolare:
- Viene utilizzato C++17 (in precedenza veniva utilizzato un sottoinsieme di C++11);
- il progetto si è spostato e ora continua a vivere BitBucket con documenti ufficiali, non sperimentali, specchio su GitHub;
- le collaborazioni degli agenti non hanno più nomi di stringa;
- Il supporto per l'interazione sincrona tra agenti è stato rimosso da SObjectizer (il suo analogo è implementato nel progetto allegato quindi5extra);
- è stato rimosso il supporto per gli agenti ad hoc;
- per l'invio dei messaggi vengono ora utilizzate solo le funzioni gratuite send, send_delayed, send_periodic (i vecchi metodi deliver_message, schedule_timer, single_timer sono stati rimossi dalle API pubbliche);
- le funzioni send_delayed e send_periodic ora hanno lo stesso formato indipendentemente dal tipo di destinatario del messaggio (che sia mbox, mchain o un collegamento ad un agente);
- aggiunta la classe message_holder_t per semplificare il lavoro con i messaggi preassegnati;
- rimosso molte cose che erano contrassegnate come deprecate nel ramo 5.5;
- Bene, e ogni sorta di altre cose.
È possibile trovare un elenco più dettagliato delle modifiche qui. Lì, nel progetto Wiki, puoi trovare documentazione per la versione 5.6.
È possibile scaricare gli archivi con la nuova versione di SObjectizer da BitBucket o SourceForge.
PS. Soprattutto per gli scettici che credono che SObjectizer non sia necessario a nessuno e non venga utilizzato da nessuno. Questo non così.
Fonte: linux.org.ru