Gleam.br Wiki

GBR: Requisitos de Resiliência da malha P2P | Wiki

Documentação de engenharia e especificações técnicas da Gleam-BR.

GBR: Requisitos de Resiliência da malha P2P

*Requisitos Ubíquos (Ubiquitous Requirements)*

  • *UBQ-01:* O sistema deve tratar a comunicação TCP fundamentalmente como um fluxo contínuo (Stream), proibindo a suposição de que uma leitura de socket equivale a uma mensagem completa do protocolo.
  • *UBQ-02:* Todo erro de rede originado na malha P2P deve ser propagado como um Tipo Error rastreável, impedindo o encerramento abrupto da Árvore de Supervisão (OTP) do Agente.

*Requisitos Orientados a Eventos (Event-Driven Requirements)*

  • *EVD-01:* Quando o gbr_p2p detectar a perda de conectividade física com o Gateway, o sistema deve acionar imediatamente a gravação circular em disco (DETS) para todas as métricas de telemetria pendentes.
  • *EVD-02:* Quando o Agente receber um frame Yamux com a flag FIN ou RST, o processo Piper deve encerrar a ponte de dados local e liberar o respectivo descritor de arquivo do sistema operacional.

*Requisitos Orientados a Estado (State-Driven Requirements)*

  • *STD-01:* Enquanto o Agente estiver no estado de Reconnecting, o motor de agendamento (Micro-Chronos) deve continuar executando as coletas de métricas localmente, operando de forma 100% autônoma em relação à Nuvem.
  • *STD-02:* Enquanto a função de decodificação de frames retornar o erro Incomplete, o Ator de sessão deve concatenar os novos bytes recebidos ao final do buffer existente e suspender o processamento lógico até atingir o tamanho esperado.

*Requisitos de Comportamento Indesejado (Unwanted Behavior Requirements)*

  • *UNW-01:* Se o arquivo de persistência DETS atingir 80% de sua capacidade máxima (1.6GB), o sistema deve descartar as métricas mais antigas em favor das novas (LIFO), garantindo que a telemetria mais recente seja preservada para o restabelecimento da conexão.