TsgcHTTPServer › Eventi › OnSendBufferFull
Si attiva quando la coda in uscita di una connessione client ha raggiunto il limite configurato, prima che venga applicata la politica di overflow. Ereditato dal motore server condiviso; vedere le Note.
property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object
—
OnSendBufferFull appartiene allo stesso meccanismo di coda in uscita per connessione utilizzato in tutti i componenti server sgc: quando l'accodamento è abilitato e la coda di una connessione contiene già il numero massimo configurato di messaggi, questo evento viene generato con la Connection interessata e il valore corrente di QueueSize, prima che venga applicata la politica di overflow (scarta il più vecchio, scarta il più recente o disconnetti). TsgcHTTPServer non pubblica la proprietà che abilita e configura questa coda e non invia mai messaggi WebSocket attraverso di essa, quindi in pratica questo evento non si attiva su questo componente; rimane pubblicato per compatibilità dell'interfaccia con gli altri componenti server basati sullo stesso motore. DropMessage arriva come True, ma poiché la condizione che genera questo evento non si verifica qui, lasciarlo invariato non ha alcun effetto osservabile.
procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
var DropMessage: Boolean);
begin
WriteLn('#slow consumer ' + Connection.Guid + ': ' + IntToStr(QueueSize) + ' messages queued');
end;