SObjectizer-5.6.0: nova versão principal da estrutura de ator para C++

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

Adicionar um comentário