]> git.kaiwu.me - nginx.git/commitdiff
gRPC: RST_STREAM(NO_ERROR) handling micro-optimization.
authorSergey Kandaurov <pluknet@nginx.com>
Thu, 17 Jun 2021 08:44:06 +0000 (11:44 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Thu, 17 Jun 2021 08:44:06 +0000 (11:44 +0300)
After 2096b21fcd10, a single RST_STREAM(NO_ERROR) may not result in an error.
This change removes several unnecessary ctx->type checks for such a case.

src/http/modules/ngx_http_grpc_module.c

index 42a540f198f8682beed21c9c860969e568311c09..654bd17b92364d2e8edf2945a734a783122a48bc 100644 (file)
@@ -2177,6 +2177,8 @@ ngx_http_grpc_filter(void *data, ssize_t bytes)
             }
 
             ctx->rst = 1;
+
+            continue;
         }
 
         if (ctx->type == NGX_HTTP_V2_GOAWAY_FRAME) {
@@ -3484,6 +3486,8 @@ ngx_http_grpc_parse_rst_stream(ngx_http_request_t *r, ngx_http_grpc_ctx_t *ctx,
         return NGX_AGAIN;
     }
 
+    ctx->state = ngx_http_grpc_st_start;
+
     return NGX_OK;
 }