TsgcHTTP3Server › 方法 › SendGoAway
发送 GOAWAY 帧以优雅地结束 HTTP/3 连接。
procedure SendGoAway(const aQUICConn: TsgcQUICServerConnection; aLastStreamId: Int64);
| 名称 | 类型 | 描述 |
|---|---|---|
aQUICConn | const TsgcQUICServerConnection | 即将被结束的 QUIC 连接。 |
aLastStreamId | Int64 | 服务器将处理的最后一条请求流的标识符。更高流 ID 上的请求不被处理,客户端可在新连接上重试。 |
SendGoAway 发送 HTTP/3 GOAWAY 帧,开始对连接进行优雅关闭。它告知对等方服务器准备处理的最高编号请求流,以便客户端停止打开新的请求流,并可安全地在另一连接上重试超过 aLastStreamId 的所有内容。
流 ID 小于或等于指定值的在途请求将继续完成;只有在这些请求完成后才应关闭连接。这使服务器能够优雅地排空流量,例如在重启之前或从池中移除节点时,而不会骤然重置活动请求。
// stop accepting new requests, finish the ones already in flight
oServer.SendGoAway(aConnection, aStreamId);