TsgcHTTPServer › Ereignisse › OnSendBufferFull

OnSendBufferFull Ereignis

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.

Syntax

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

Standardwert

—

Hinweise

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.

Beispiel


procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
  var DropMessage: Boolean);
begin
  WriteLn('#slow consumer ' + Connection.Guid + ': ' + IntToStr(QueueSize) + ' messages queued');
end;

Zurück zu Ereignissen