TsgcHTTPServer › Eventos › OnSendBufferFull
Disparado quando a fila de saída de uma conexão de cliente atinge seu limite configurado, antes de a política de overflow ser aplicada. Herdado do mecanismo de servidor compartilhado; veja Observações.
property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object
—
OnSendBufferFull pertence ao mesmo mecanismo de fila de saída por conexão utilizado em todos os componentes de servidor sgc: quando o enfileiramento está habilitado e a fila de uma conexão já contém o número máximo configurado de mensagens, este evento é gerado com a Connection afetada e o QueueSize atual, antes que a política de overflow (descartar a mais antiga, descartar a mais nova ou desconectar) seja aplicada. O TsgcHTTPServer não publica a propriedade que habilita e configura essa fila, e nunca envia mensagens WebSocket através dela, portanto, na prática, este evento não dispara neste componente; ele permanece publicado para compatibilidade de interface com os outros componentes de servidor construídos sobre o mesmo mecanismo. DropMessage chega como True, mas como a condição que gera este evento não ocorre aqui, deixá-lo inalterado não tem efeito observável.
procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
var DropMessage: Boolean);
begin
WriteLn('#slow consumer ' + Connection.Guid + ': ' + IntToStr(QueueSize) + ' messages queued');
end;