TsgcHTTP3Client › Ereignisse › OnGoAway

OnGoAway Ereignis

Wird ausgelöst, wenn der Server einen GOAWAY-Frame sendet, der eine ordnungsgemäße Beendigung ankündigt.

Syntax

TsgcHTTP3GoAwayEvent = procedure(Sender: TObject;

  aStreamId: Int64) of object;



property OnGoAway: TsgcHTTP3GoAwayEvent read FOnGoAway write FOnGoAway;

Parameter

NameTypBeschreibung
SenderTObjectDie TsgcHTTP3Client-Instanz, die das Ereignis ausgelöst hat.
aStreamIdInt64Die höchste Request-Stream-ID, die der Server noch verarbeiten darf. Anfragen auf Streams mit einer höheren ID wurden nicht bearbeitet und können gefahrlos auf einer neuen Verbindung wiederholt werden.

Hinweise

GOAWAY (RFC 9114 Abschnitt 5.2) ist die Art, wie ein Server ankündigt, dass er die Verbindung ordnungsgemäß herunterfährt, typischerweise für einen Neustart oder das Leeren eines Load Balancers. Der Frame trifft auf dem Control-Stream des Servers ein und versetzt die Verbindung in den GoAway-Zustand.

Anfragen, die auf Streams bis einschließlich aStreamId bereits unterwegs sind, werden weiterhin verarbeitet und normal abgeschlossen. Alles darüber wurde abgelehnt und muss auf einer neuen Verbindung wiederholt werden, was genau der Sinn des Parameters ist: Er sagt Ihnen exakt, was verloren gegangen ist.

Starten Sie nach dem Ereignis keine neuen Anfragen auf dieser Verbindung. Öffnen Sie stattdessen eine neue Verbindung und lassen Sie die alte ihre ausstehende Arbeit beenden. OnDisconnect folgt, sobald der Server tatsächlich schließt.

Beispiel



procedure TfrmMain.OnGoAwayEvent(Sender: TObject; aStreamId: Int64);

begin

  Log(Format('GOAWAY, last stream id: %d', [aStreamId]));

end;

Zurück zu Ereignissen