TsgcWSPServer_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:
- Level 0 — "No máximo uma vez": as mensagens enviadas do servidor são entregues com melhor esforço (best-effort) sobre TCP, sem retry e sem confirmação.
- Nível 1 — "Pelo menos uma vez": as mensagens de saída carregam um Id; o servidor as mantém em uma lista de pendências e as reenvia se o cliente não confirmar dentro de Timeout segundos. Duplicatas são detectadas pelo Id.
- Nível 2 — "Exatamente uma vez": o servidor realiza um handshake PubRec/PubRel de duas etapas antes de liberar a mensagem para os assinantes. Utilize isto para operações em que 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 ao cliente.
Exemplo
oProtocol.QoS.Level := qosLevel1;
oProtocol.QoS.Interval := 60;
oProtocol.QoS.Timeout := 300;
Voltar para Propriedades