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
Errorrastreá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_p2pdetectar 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
FINouRST, o processoPiperdeve 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
DETSatingir 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.