TsgcWebSocketClient › Gebeurtenissen › OnSendBufferFull
Wordt geactiveerd wanneer de uitgaande berichtwachtrij QueueOptions.MaxQueueSize heeft bereikt, voordat het overloopbeleid wordt toegepast.
property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object
—
Wordt alleen geactiveerd wanneer berichtwachtrijen actief zijn en QueueOptions.MaxQueueSize groter is dan nul: telkens wanneer een bericht op het punt staat in de wachtrij te worden geplaatst terwijl de wachtrij al MaxQueueSize berichten bevat, wordt deze gebeurtenis gegenereerd met de huidige QueueSize. DropMessage komt binnen als True; laat dit ongewijzigd om QueueOptions.OverflowPolicy te laten beslissen wat er gebeurt (qopDropOldest verwerpt het oudste bericht in de wachtrij, qopDropNewest verwerpt het nieuwe bericht, qopDisconnect verwerpt het en sluit de verbinding), of zet het op False om het bericht toch te accepteren en de wachtrij voorbij de limiet te laten groeien. Gebruik deze gebeurtenis om tegendruk te detecteren, bijvoorbeeld om producenten te pauzeren of situaties met trage consumenten te loggen.
procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
var DropMessage: Boolean);
begin
WriteLn('#send buffer full: ' + IntToStr(QueueSize) + ' messages queued');
end;