TsgcWSPClient_sgc › Propriedades › QoS
QoS Property
Opções de Quality of Service (Level, Interval, Timeout) para entrega com confirmação (acknowledged).
Sintaxe
property QoS: TsgcWSQoS_Options read FQoS write SetQoS;
Valor Padrão
—
Observações
São suportadas três garantias de entrega, equivalentes ao modelo MQTT:
- Nível 0 — "No máximo uma vez": a mensagem é entregue em melhor esforço sobre TCP sem retentativa e sem confirmação. Ela chega uma vez ou não chega.
- Level 1 — "At least once": o recebimento da mensagem é confirmado com um Acknowledgment. Se o ack não for recebido dentro de Timeout segundos, o remetente reenvia a mensagem; um campo Id é incluído para que duplicatas possam ser detectadas.
- Nível 2 — "Exactly once": a entrega da mensagem é garantida exatamente uma vez utilizando um handshake de duas etapas. Utilize isto para operações como cobrança, onde mensagens duplicadas ou perdidas não são aceitáveis.
Interval controla com que frequência o timer interno de QoS varre as mensagens pendentes; Timeout é o número de segundos sem confirmação após o qual uma mensagem é reenviada.
Exemplo
oProtocol.QoS.Level := qosLevel1;
oProtocol.QoS.Interval := 60;
oProtocol.QoS.Timeout := 300;
Voltar para Propriedades