SObjectizador é uma estrutura relativamente pequena para simplificar o desenvolvimento de aplicativos multithread complexos em C++. SObjectizer permite ao desenvolvedor construir seus programas baseados em mensagens assíncronas usando abordagens como Actor Model, Publish-Subscribe e CSP. Este é um projeto OpenSource sob a licença BSD-3-CLAUSE. Uma breve impressão do SObjectizer pode ser formada com base em esta apresentação.
A versão 5.6.0 é o primeiro lançamento principal da nova ramificação SObjectizer-5.6. O que também significa a conclusão do desenvolvimento do branch SObjectizer-5.5, que vem se desenvolvendo há mais de quatro anos.
Como a versão 5.6.0 abre um novo capítulo no desenvolvimento do SObjectizer, não há nenhuma inovação em comparação com o que foi alterado e/ou removido do SObjectizer. Em particular:
- C++17 é usado (anteriormente era usado um subconjunto de C++11);
- o projeto mudou e agora continua vivo BitBucket com oficial, não experimental, espelho no GitHub;
- as colaborações de agentes não têm mais nomes de string;
- O suporte para interação síncrona entre agentes foi removido do SObjectizer (seu análogo é implementado no projeto que o acompanha so5extra);
- o suporte para agentes ad hoc foi removido;
- para envio de mensagens, agora são utilizadas apenas as funções gratuitas send, send_delayed, send_periodic (os antigos métodos delivery_message, schedule_timer, single_timer foram removidos da API pública);
- as funções send_delayed e send_periodic agora possuem o mesmo formato independente do tipo de destinatário da mensagem (seja mbox, mchain ou link para um agente);
- adicionada a classe message_holder_t para simplificar o trabalho com mensagens pré-alocadas;
- removeu muitas coisas que estavam marcadas como obsoletas no branch 5.5;
- Bem, e todo tipo de outras coisas.
Uma lista mais detalhada de alterações pode ser encontrada aqui. Lá, no Wiki do projeto, você encontra documentação para a versão 5.6.
Os arquivos com a nova versão do SObjectizer podem ser baixados em BitBucket ou SourceForge.
PS. Especialmente para os céticos que acreditam que o SObjectizer não é necessário e não é usado por ninguém. Esse não é assim.
Fonte: linux.org.ru