TsgcHTTPServer › Ereignisse › OnSendBufferFull
Wird ausgelöst, wenn die ausgehende Warteschlange einer Client-Verbindung ihr konfiguriertes Limit erreicht hat, bevor die Überlaufrichtlinie angewendet wird. Von der gemeinsamen Server-Engine geerbt; siehe Hinweise.
property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object
—
OnSendBufferFull gehört zum selben Mechanismus der ausgehenden Warteschlange pro Verbindung, der in allen sgc-Server-Komponenten verwendet wird: Wenn die Warteschlange aktiviert ist und die Warteschlange einer Verbindung bereits die konfigurierte Höchstzahl an Nachrichten enthält, wird dieses Ereignis mit der betroffenen Connection und der aktuellen QueueSize ausgelöst, bevor die Überlaufrichtlinie (älteste verwerfen, neueste verwerfen oder trennen) angewendet wird. TsgcHTTPServer veröffentlicht die Eigenschaft, die diese Warteschlange aktiviert und konfiguriert, nicht und sendet niemals WebSocket-Nachrichten über sie, sodass dieses Ereignis auf dieser Komponente in der Praxis nicht ausgelöst wird; es bleibt aus Gründen der Schnittstellenkompatibilität mit den anderen, auf derselben Engine basierenden Server-Komponenten veröffentlicht. DropMessage kommt als True an, aber da die Bedingung, die dieses Ereignis auslöst, hier nicht eintritt, hat es keine beobachtbare Auswirkung, es unverändert zu lassen.
procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
var DropMessage: Boolean);
begin
WriteLn('#slow consumer ' + Connection.Guid + ': ' + IntToStr(QueueSize) + ' messages queued');
end;