TsgcWebSocketClientEventi › OnSendBufferFull

OnSendBufferFull Evento

Si attiva quando la coda dei messaggi in uscita ha raggiunto QueueOptions.MaxQueueSize, prima che venga applicata la politica di overflow.

Sintassi

property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object

Valore predefinito

Note

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.

Esempio


procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
  var DropMessage: Boolean);
begin
  WriteLn('#send buffer full: ' + IntToStr(QueueSize) + ' messages queued');
end;

Torna agli Eventi