TsgcWebSocketClient › Eventi › OnSendBufferFull
Si attiva quando la coda dei messaggi in uscita ha raggiunto QueueOptions.MaxQueueSize, prima che venga applicata la politica di overflow.
property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object
—
Si attiva solo quando l'accodamento dei messaggi è attivo e QueueOptions.MaxQueueSize è maggiore di zero: ogni volta che un messaggio sta per essere accodato mentre la coda contiene già MaxQueueSize messaggi, questo evento viene generato con il valore corrente di QueueSize. DropMessage arriva come True; lasciarlo invariato per consentire a QueueOptions.OverflowPolicy di decidere cosa accade (qopDropOldest scarta il messaggio accodato più vecchio, qopDropNewest scarta il nuovo messaggio, qopDisconnect lo scarta e chiude la connessione), oppure impostarlo su False per accettare comunque il messaggio e lasciare che la coda superi il limite. Utilizzare questo evento per rilevare la contropressione, ad esempio per mettere in pausa i produttori o registrare condizioni di consumatori lenti.
procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
var DropMessage: Boolean);
begin
WriteLn('#send buffer full: ' + IntToStr(QueueSize) + ' messages queued');
end;