Compilação e Configuração da Biblioteca de Mensagens NNG

Introdução ao NNG

O NNG (nanomsg-next-generation) é uma biblioteca de mensageria leve e sem broker (brokerless), projetada como a evolução do nanomsg e do ZeroMQ. Seu objetivo principle é abstrair a complexidade da comunicação de rede, permitindo que os desenvolvedores foquem na lógica de negócios. A biblioteca oferece padrões de comunicação como Publicar/Assinar (Pub/Sub), Solicitação/Resposta (Req/Rep) e descoberta de serviços através de uma API simplificada.

Pré-requisitos e Dependências

Para cmopilar o NNG a partir do código-fonte, o ambiente de desenvolvimento deve atender aos seguintes requisitos:

  • Compilador C compatível com o padrão C99 (GCC, Clang, MSVC).
  • CMake (versão 3.13 ou superior) para gerenciar o processo de build.
  • Mbed TLS (opcional, mas necessário caso deseje habilitar o suporte a criptografia TLS 1.2).

Processo de Compilação

O processo de construção utiliza o CMake e pode ser adaptado para diferentes geradores, como Ninja ou Make.

1. Obtenção do Código-Fonte

Clone o repositório oficial e acesse o diretório do projeto:

git clone https://github.com/nanomsg/nng.git
cd nng

2. Preparação do Ambiente de Build

Crie um diretório isolado para os artefatos de compilação. Neste exemplo, utilizaremos o nome output_build para manter a organização do repositório original:

mkdir output_build
cd output_build

3. Configuração com CMake

Execute o CMake para gerar os arquivos de compilação. Se o gerador Ninja estiver disponível e for o preferido, utilize a flag -G. Caso contrário, o Make padrão será usado.

Usando Ninja (recomendado para maior velocidade) e habilitando TLS:

cmake -G Ninja -DNNG_ENABLE_TLS=ON ..

Usando Makefiles padrão:

cmake -DNNG_ENABLE_TLS=ON ..

Nota: A flag -DNNG_ENABLE_TLS=ON foi adicionada para demonstrar como habilitar o suporte a TLS, assumindo que o Mbed TLS esteja instalado no sistema.

4. Compilação e Testes

Inicie a compilação dos binários e bibliotecas. Para o Make, é recomendável usar compilação paralela:

# Para Ninja
ninja

# Para Make
make -j$(nproc)

Após a compilação bem-sucedida, execute a suíte de testes integrada para validar a integridade da biblioteca:

# Para Ninja
ninja test

# Para Make
make test

5. Instalação no Sistema

Por fim, instale os cabeçalhos e a biblioteca compilada nos diretórios do sistema (pode ser necessário privilégios de superusuário):

# Para Ninja
ninja install

# Para Make
sudo make install

Configuração em Tempo de Execução

Diferente de sistemas que exigem arquivos de configuração externos, o NNG é configurado inteiramente via código. Após a instalação, basta incluir os cabeçalhos do NNG no seu projeto C/C++ e utilizar as funções da API para instanciar sockets, definir topologias (como NNG_PROTO_PUB0 ou NNG_PROTO_REP0) e estabelecer os listeners ou dialers para os protocolos de transporte desejados (TCP, IPC, inproc, etc.).

Tags: nng nanomsg c99 CMake mbed-tls

Publicado em 6-23 06:30