QUIC: ngx_quic_frames_stream_t made opaque.
This commit is contained in:
parent
0d1149dce5
commit
cab188a0a1
4 changed files with 23 additions and 15 deletions
|
@ -70,13 +70,7 @@ typedef struct {
|
|||
} ngx_quic_conf_t;
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint64_t sent;
|
||||
uint64_t received;
|
||||
ngx_queue_t frames; /* reorder queue */
|
||||
size_t total; /* size of buffered data */
|
||||
} ngx_quic_frames_stream_t;
|
||||
|
||||
typedef struct ngx_quic_frames_stream_s ngx_quic_frames_stream_t;
|
||||
|
||||
struct ngx_quic_stream_s {
|
||||
ngx_rbtree_node_t node;
|
||||
|
@ -86,7 +80,7 @@ struct ngx_quic_stream_s {
|
|||
uint64_t acked;
|
||||
uint64_t send_max_data;
|
||||
ngx_buf_t *b;
|
||||
ngx_quic_frames_stream_t fs;
|
||||
ngx_quic_frames_stream_t *fs;
|
||||
ngx_uint_t cancelable; /* unsigned cancelable:1; */
|
||||
};
|
||||
|
||||
|
|
|
@ -498,7 +498,7 @@ ngx_quic_resend_frames(ngx_connection_t *c, ngx_quic_send_ctx_t *ctx)
|
|||
}
|
||||
|
||||
b = sn->b;
|
||||
n = sn->fs.received + (b->pos - b->start) + (b->end - b->last);
|
||||
n = sn->fs->received + (b->pos - b->start) + (b->end - b->last);
|
||||
|
||||
if (f->u.max_stream_data.limit < n) {
|
||||
f->u.max_stream_data.limit = n;
|
||||
|
|
|
@ -98,6 +98,14 @@ typedef struct {
|
|||
} ngx_quic_congestion_t;
|
||||
|
||||
|
||||
struct ngx_quic_frames_stream_s {
|
||||
uint64_t sent;
|
||||
uint64_t received;
|
||||
ngx_queue_t frames; /* reorder queue */
|
||||
size_t total; /* size of buffered data */
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* 12.3. Packet Numbers
|
||||
*
|
||||
|
|
|
@ -367,7 +367,13 @@ ngx_quic_create_stream(ngx_connection_t *c, uint64_t id, size_t rcvbuf_size)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
ngx_queue_init(&sn->fs.frames);
|
||||
sn->fs = ngx_pcalloc(pool, sizeof(ngx_quic_frames_stream_t));
|
||||
if (sn->fs == NULL) {
|
||||
ngx_destroy_pool(pool);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ngx_queue_init(&sn->fs->frames);
|
||||
|
||||
log = ngx_palloc(pool, sizeof(ngx_log_t));
|
||||
if (log == NULL) {
|
||||
|
@ -503,7 +509,7 @@ ngx_quic_stream_recv(ngx_connection_t *c, u_char *buf, size_t size)
|
|||
frame->level = ssl_encryption_application;
|
||||
frame->type = NGX_QUIC_FT_MAX_STREAM_DATA;
|
||||
frame->u.max_stream_data.id = qs->id;
|
||||
frame->u.max_stream_data.limit = qs->fs.received + (b->pos - b->start)
|
||||
frame->u.max_stream_data.limit = qs->fs->received + (b->pos - b->start)
|
||||
+ (b->end - b->last);
|
||||
|
||||
ngx_quic_queue_frame(qc, frame);
|
||||
|
@ -706,7 +712,7 @@ ngx_quic_stream_cleanup_handler(void *data)
|
|||
"quic stream id:0x%xL cleanup", qs->id);
|
||||
|
||||
ngx_rbtree_delete(&qc->streams.tree, &qs->node);
|
||||
ngx_quic_free_frames(pc, &qs->fs.frames);
|
||||
ngx_quic_free_frames(pc, &qs->fs->frames);
|
||||
|
||||
if (qc->closing) {
|
||||
/* schedule handler call to continue ngx_quic_close_connection() */
|
||||
|
@ -834,7 +840,7 @@ ngx_quic_handle_stream_frame(ngx_connection_t *c, ngx_quic_header_t *pkt,
|
|||
}
|
||||
|
||||
sc = sn->c;
|
||||
fs = &sn->fs;
|
||||
fs = sn->fs;
|
||||
b = sn->b;
|
||||
window = b->end - b->last;
|
||||
|
||||
|
@ -855,7 +861,7 @@ ngx_quic_handle_stream_frame(ngx_connection_t *c, ngx_quic_header_t *pkt,
|
|||
return NGX_OK;
|
||||
}
|
||||
|
||||
fs = &sn->fs;
|
||||
fs = sn->fs;
|
||||
b = sn->b;
|
||||
window = (b->pos - b->start) + (b->end - b->last);
|
||||
|
||||
|
@ -1019,7 +1025,7 @@ ngx_quic_handle_stream_data_blocked_frame(ngx_connection_t *c,
|
|||
|
||||
} else {
|
||||
b = sn->b;
|
||||
n = sn->fs.received + (b->pos - b->start) + (b->end - b->last);
|
||||
n = sn->fs->received + (b->pos - b->start) + (b->end - b->last);
|
||||
}
|
||||
|
||||
frame = ngx_quic_alloc_frame(c);
|
||||
|
|
Loading…
Reference in a new issue