TsgcHTTP3Server › Métodos › SendGoAway
Envia um frame GOAWAY para encerrar gradualmente uma conexão HTTP/3.
procedure SendGoAway(const aQUICConn: TsgcQUICServerConnection; aLastStreamId: Int64);
| Name | Type | Descrição |
|---|---|---|
aQUICConn | const TsgcQUICServerConnection | Conexão QUIC que será encerrada. |
aLastStreamId | Int64 | Identificador do último stream de requisição que o servidor irá processar. Requisições com IDs de stream maiores não são tratadas e podem ser reenviadas pelo cliente em uma nova conexão. |
SendGoAway emite um frame HTTP/3 GOAWAY para iniciar o encerramento gracioso da conexão. Ele informa ao par o número mais alto de stream de requisição que o servidor está disposto a processar, de modo que o cliente deve parar de abrir novos streams de requisição e pode com segurança tentar novamente qualquer requisição além de aLastStreamId em outra conexão.
As requisições em andamento no ID de stream fornecido ou abaixo continuam até a conclusão; apenas depois que terminarem a conexão deve ser fechada. Isso permite que um servidor encerre o tráfego de forma limpa, por exemplo antes de uma reinicialização ou ao remover um nó de um pool, sem redefinir abruptamente as requisições ativas.
// stop accepting new requests, finish the ones already in flight
oServer.SendGoAway(aConnection, aStreamId);