TsgcHTTPServer › Gebeurtenissen › OnSendBufferFull
Wordt geactiveerd wanneer de uitgaande wachtrij van een clientverbinding de geconfigureerde limiet heeft bereikt, voordat het overloopbeleid wordt toegepast. Overgeërfd van de gedeelde server-engine; zie Opmerkingen.
property OnSendBufferFull: TsgcWSSendBufferFullEvent;
// TsgcWSSendBufferFullEvent = procedure(Connection: TsgcWSConnection; const QueueSize: Integer; var DropMessage: Boolean) of object
—
OnSendBufferFull hoort bij hetzelfde per-verbinding-uitgaande-wachtrijmechanisme dat wordt gebruikt in alle sgc-servercomponenten: wanneer wachtrijvorming is ingeschakeld en de wachtrij van een verbinding al het geconfigureerde maximumaantal berichten bevat, wordt deze gebeurtenis geactiveerd met de betrokken Connection en de huidige QueueSize, voordat het overloopbeleid (oudste verwijderen, nieuwste verwijderen of verbinding verbreken) wordt toegepast. TsgcHTTPServer publiceert de eigenschap die deze wachtrij inschakelt en configureert niet, en het verzendt nooit WebSocket-berichten via deze weg, dus in de praktijk wordt deze gebeurtenis niet geactiveerd op dit component; ze blijft gepubliceerd voor interfacecompatibiliteit met de andere servercomponenten die op dezelfde engine zijn gebouwd. DropMessage komt binnen als True, maar aangezien de voorwaarde die deze gebeurtenis activeert zich hier niet voordoet, heeft het ongewijzigd laten ervan geen waarneembaar effect.
procedure OnSendBufferFull(Connection: TsgcWSConnection; const QueueSize: Integer;
var DropMessage: Boolean);
begin
WriteLn('#slow consumer ' + Connection.Guid + ': ' + IntToStr(QueueSize) + ' messages queued');
end;