summaryrefslogtreecommitdiffstats
path: root/src/http/v3/ngx_http_v3_uni.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/v3/ngx_http_v3_uni.c')
-rw-r--r--src/http/v3/ngx_http_v3_uni.c157
1 files changed, 0 insertions, 157 deletions
diff --git a/src/http/v3/ngx_http_v3_uni.c b/src/http/v3/ngx_http_v3_uni.c
index 22ddaf3eb..2fc5b07a4 100644
--- a/src/http/v3/ngx_http_v3_uni.c
+++ b/src/http/v3/ngx_http_v3_uni.c
@@ -16,19 +16,10 @@ typedef struct {
} ngx_http_v3_uni_stream_t;
-typedef struct {
- ngx_queue_t queue;
- uint64_t id;
- ngx_connection_t *connection;
- ngx_uint_t *npushing;
-} ngx_http_v3_push_t;
-
-
static void ngx_http_v3_close_uni_stream(ngx_connection_t *c);
static void ngx_http_v3_uni_read_handler(ngx_event_t *rev);
static void ngx_http_v3_uni_dummy_read_handler(ngx_event_t *wev);
static void ngx_http_v3_uni_dummy_write_handler(ngx_event_t *wev);
-static void ngx_http_v3_push_cleanup(void *data);
static ngx_connection_t *ngx_http_v3_get_uni_stream(ngx_connection_t *c,
ngx_uint_t type);
@@ -316,78 +307,6 @@ ngx_http_v3_uni_dummy_write_handler(ngx_event_t *wev)
}
-ngx_connection_t *
-ngx_http_v3_create_push_stream(ngx_connection_t *c, uint64_t push_id)
-{
- u_char *p, buf[NGX_HTTP_V3_VARLEN_INT_LEN * 2];
- size_t n;
- ngx_connection_t *sc;
- ngx_pool_cleanup_t *cln;
- ngx_http_v3_push_t *push;
- ngx_http_v3_session_t *h3c;
-
- ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
- "http3 create push stream id:%uL", push_id);
-
- sc = ngx_quic_open_stream(c, 0);
- if (sc == NULL) {
- goto failed;
- }
-
- p = buf;
- p = (u_char *) ngx_http_v3_encode_varlen_int(p, NGX_HTTP_V3_STREAM_PUSH);
- p = (u_char *) ngx_http_v3_encode_varlen_int(p, push_id);
- n = p - buf;
-
- h3c = ngx_http_v3_get_session(c);
- h3c->total_bytes += n;
-
- if (sc->send(sc, buf, n) != (ssize_t) n) {
- goto failed;
- }
-
- cln = ngx_pool_cleanup_add(sc->pool, sizeof(ngx_http_v3_push_t));
- if (cln == NULL) {
- goto failed;
- }
-
- h3c->npushing++;
-
- cln->handler = ngx_http_v3_push_cleanup;
-
- push = cln->data;
- push->id = push_id;
- push->connection = sc;
- push->npushing = &h3c->npushing;
-
- ngx_queue_insert_tail(&h3c->pushing, &push->queue);
-
- return sc;
-
-failed:
-
- ngx_log_error(NGX_LOG_ERR, c->log, 0, "failed to create push stream");
-
- ngx_http_v3_finalize_connection(c, NGX_HTTP_V3_ERR_STREAM_CREATION_ERROR,
- "failed to create push stream");
- if (sc) {
- ngx_http_v3_close_uni_stream(sc);
- }
-
- return NULL;
-}
-
-
-static void
-ngx_http_v3_push_cleanup(void *data)
-{
- ngx_http_v3_push_t *push = data;
-
- ngx_queue_remove(&push->queue);
- (*push->npushing)--;
-}
-
-
static ngx_connection_t *
ngx_http_v3_get_uni_stream(ngx_connection_t *c, ngx_uint_t type)
{
@@ -694,82 +613,6 @@ failed:
ngx_int_t
-ngx_http_v3_set_max_push_id(ngx_connection_t *c, uint64_t max_push_id)
-{
- ngx_http_v3_session_t *h3c;
-
- h3c = ngx_http_v3_get_session(c);
-
- ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
- "http3 MAX_PUSH_ID:%uL", max_push_id);
-
- if (h3c->max_push_id != (uint64_t) -1 && max_push_id < h3c->max_push_id) {
- return NGX_HTTP_V3_ERR_ID_ERROR;
- }
-
- h3c->max_push_id = max_push_id;
-
- return NGX_OK;
-}
-
-
-ngx_int_t
-ngx_http_v3_goaway(ngx_connection_t *c, uint64_t push_id)
-{
- ngx_http_v3_session_t *h3c;
-
- h3c = ngx_http_v3_get_session(c);
-
- ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 GOAWAY:%uL", push_id);
-
- h3c->goaway_push_id = push_id;
-
- return NGX_OK;
-}
-
-
-ngx_int_t
-ngx_http_v3_cancel_push(ngx_connection_t *c, uint64_t push_id)
-{
- ngx_queue_t *q;
- ngx_http_request_t *r;
- ngx_http_v3_push_t *push;
- ngx_http_v3_session_t *h3c;
-
- h3c = ngx_http_v3_get_session(c);
-
- ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,
- "http3 CANCEL_PUSH:%uL", push_id);
-
- if (push_id >= h3c->next_push_id) {
- return NGX_HTTP_V3_ERR_ID_ERROR;
- }
-
- for (q = ngx_queue_head(&h3c->pushing);
- q != ngx_queue_sentinel(&h3c->pushing);
- q = ngx_queue_next(q))
- {
- push = (ngx_http_v3_push_t *) q;
-
- if (push->id != push_id) {
- continue;
- }
-
- r = push->connection->data;
-
- ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
- "http3 cancel push");
-
- ngx_http_finalize_request(r, NGX_HTTP_CLOSE);
-
- break;
- }
-
- return NGX_OK;
-}
-
-
-ngx_int_t
ngx_http_v3_cancel_stream(ngx_connection_t *c, ngx_uint_t stream_id)
{
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, c->log, 0,