SObjectizer è un framework relativamente leggero progettato per semplificare lo sviluppo di complessi applicativi multithreading in C++. SObjectizer consente agli sviluppatori di costruire programmi basati su uno scambio di messaggi asincrono utilizzando approcci come il Modello Attore, Publish-Subscribe e CSP. Questo è un progetto OpenSource sotto licenza BSD-3-CLAUSE. Un breve assaggio di SObjectizer può essere dato da questa presentazione.
La versione 5.6.0 rappresenta il primo rilascio principale della nuova serie SObjectizer-5.6. Ciò implica anche la conclusione dello sviluppo della serie SObjectizer-5.5, che è stata in sviluppo per oltre quattro anni.
Poiché la versione 5.6.0 apre un nuovo capitolo nello sviluppo di SObjectizer, non ci sono innovazioni in confronto a quanto è stato modificato e/o rimosso da SObjectizer. In particolare:
- è utilizzato C++17 (in precedenza ci si limitava a una sottoinsieme di C++11);
- il progetto si è trasferito ed ora risiede su BitBucket con un mirror ufficiale, e non sperimentale, su GitHub;
- le cooperative degli agenti non hanno più nomi stringa;
- è stata rimossa dal SObjectizer la supporto per l'interazione sincrona tra agenti (un equivalente è implementato nel progetto correlato so5extra);
- è stata rimossa la supporto per agenti ad-hoc;
- Per l'invio dei messaggi si utilizzano ora esclusivamente le funzioni libere send, send_delayed, send_periodic (i vecchi metodi deliver_message, schedule_timer, single_timer sono stati rimossi dall'API pubblico);
- Le funzioni send_delayed e send_periodic ora hanno un formato unificato indipendentemente dal tipo di destinatario del messaggio (che sia mbox, mchain o link a un agente);
- È stata aggiunta la classe message_holder_t per facilitare il lavoro con i messaggi preallocati;
- Rimossi numerosi elementi che erano stati etichettati come deprecated già nella versione 5.5;
- E anche varie altre cose.
Un elenco più dettagliato delle modifiche può essere trovato qui. Qui, nella Wiki del progetto, si può trovare la documentazione per la versione 5.6.
Gli archivi con la nuova versione di SObjectizer possono essere scaricati da BitBucket o a SourceForge.
PS. Specialmente per gli scettici che pensano che SObjectizer non sia utile e non venga utilizzato. Non è così..
Fonte: linux.org.ru
