TsgcHTTP3Server › Méthodes › SendGoAway
Envoie une trame GOAWAY pour fermer progressivement une connexion HTTP/3.
procedure SendGoAway(const aQUICConn: TsgcQUICServerConnection; aLastStreamId: Int64);
| Nom | Type | Description |
|---|---|---|
aQUICConn | const TsgcQUICServerConnection | Connexion QUIC qui va être fermée progressivement. |
aLastStreamId | Int64 | Identifiant du dernier flux de requête que le serveur traitera. Les requêtes sur des identifiants de flux supérieurs ne sont pas traitées et peuvent être retentées par le client sur une nouvelle connexion. |
SendGoAway émet une trame HTTP/3 GOAWAY pour initier une fermeture élégante de la connexion. Il indique au pair l'identifiant de flux de requête le plus élevé que le serveur est prêt à traiter, de sorte que le client doit cesser d'ouvrir de nouveaux flux de requête et peut réessayer en toute sécurité tout ce qui dépasse aLastStreamId sur une autre connexion.
Les requêtes en cours dont l'identifiant de flux est inférieur ou égal à l'identifiant donné se poursuivent jusqu'à leur terme ; la connexion ne doit être fermée qu'après leur achèvement. Cela permet à un serveur de vider le trafic proprement, par exemple avant un redémarrage ou lors du retrait d'un nœud d'un pool, sans réinitialiser brutalement les requêtes actives.
// stop accepting new requests, finish the ones already in flight
oServer.SendGoAway(aConnection, aStreamId);