OpenDDS 3.34.0

Lançamento ocorrido OpenDDS 3.34.0 — implementação livre em C++ da especificação Grupo de Gestão de Objetos Serviço de Distribuição de Dados para Sistemas em Tempo Real. DDS é utilizado para a construção de sistemas distribuídos com um modelo de publicação e assinatura, e o OpenDDS, além de C++, fornece vinculações para Java/JNI e baseia-se em ACE/TAO. O lançamento foi publicado 21 de maio de 2026, arquivos prontos disponíveis para Windows, Linux e macOS.


O projeto é distribuído como código aberto: o OpenDDS pode ser utilizado, modificado e distribuído sem taxas de licenciamento, mantendo o aviso de copyright; destaca-se que o OpenDDS pode ser utilizado no desenvolvimento de software proprietário sem a obrigação de revelar o código-fonte.

Principais alterações no OpenDDS 3.34.0:

  • As capacidades do RtpsRelay foram expandidas. Agora, no RtpsRelay, é possível alterar parâmetros adicionais durante a execução através do mecanismo RtpsRelayControl. Também foi adicionada a capacidade de especificar uma lista de partições a serem negadas a um determinado exemplar do RtpsRelay, via um novo tópico RelayDeniedPartitions. Para gerenciar o tempo de validade dessa negação, foi adicionada a opção -DeniedPartitionsTimeout.

  • Adicionado modo de construção para perfil de desempenho. O script configure agora possui a flag —profiling, que inclui parâmetros típicos de compilação para análise de desempenho no GCC.

  • Agora há callbacks para gerenciar as threads do OpenDDS. Os desenvolvedores adicionaram manipuladores que são chamados no início e no término das threads do OpenDDS. Isso permite gerenciar o comportamento das threads, como fixá-las em núcleos específicos da CPU no Linux.

  • Deserialização de tipos IDL otimizada. Todos os mapeamentos IDL agora evitam zeragem desnecessária de memória para sequências de tipos primitivos durante a deserialização de padrões. Para IDL-to-C++11, uma inclusão explícita adicional é necessária através de @OpenDDS::no_init_before_deserialize.

  • Adicionado controle do número de threads EventDispatcher. Agora existem parâmetros DCPSEventDispatcherThreads e configuração de transporte event_dispatcher_threads. Quando o valor de event_dispatcher_threads=0, o transporte utilizará um despachante de eventos compartilhado em vez de criar um despachante local.

  • Adicionadas configurações de buffers TCP. Para o transporte TCP, agora existem parâmetros send_buffer_size e rcv_buffer_size. Por padrão, o tamanho dos buffers de socket agora é deixado a critério da plataforma, a menos que esses parâmetros sejam definidos com valores positivos.

  • ACE/TAO atualizados. As dependências foram atualizadas: ACE 6/TAO 2 aumentaram de 6.5.23 para 6.5.24, e ACE 8/TAO 4 — de 8.0.5 para 8.0.6. Ao compilar o OpenDDS através do CMake, a versão padrão do ACE/TAO agora é a combinação ACE 8 / TAO 4.

  • Removida a opção não utilizada RtpsRelay. A opção -LogParticipantStatistics foi removida do RtpsRelay, pois não estava mais em uso.

  • Correções de desempenho e funcionamento da rede. Aumentado o tamanho do buffer de recebimento para netlink, e uma quantidade significativa das tarefas de serviço e resposta foi transferida dos threads do Reactor para os threads correspondentes do EventDispatcher. Isso deve aliviar os threads do Reactor para leitura de rede.

  • Corrigidos erros no ThreadStatusManager e nos transportes. O ThreadStatusManager agora utiliza múltiplos slots com suas próprias travas, o que reduz a competição entre os threads. Corrigido o desreferenciamento de ponteiro nulo ao desserializar DynamicData de um participante removido, bem como erros na busca de instância de transporte e no manuseio de endereços locais compartilhados, que podiam levar a valores de locator incorretos nas declarações de participantes e endpoints.
    <<<

Notícia no site do projeto

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster