Mercurial > hg > nginx
view src/event/quic/ngx_event_quic_connid.h @ 9016:55b38514729b quic
QUIC: fixed insertion at the end of buffer.
Previously, last buffer was tracked by keeping a pointer to the previous
chain link "next" field. When the previous buffer was split and then removed,
the pointer was no longer valid. Writing at this pointer resulted in broken
data chains.
Now last buffer is tracked by keeping a direct pointer to it.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 17 Feb 2022 22:38:42 +0300 |
parents | 1e2f4e9c8195 |
children |
line wrap: on
line source
/* * Copyright (C) Nginx, Inc. */ #ifndef _NGX_EVENT_QUIC_CONNID_H_INCLUDED_ #define _NGX_EVENT_QUIC_CONNID_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> ngx_int_t ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c, ngx_quic_retire_cid_frame_t *f); ngx_int_t ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c, ngx_quic_new_conn_id_frame_t *f); ngx_int_t ngx_quic_create_sockets(ngx_connection_t *c); ngx_int_t ngx_quic_create_server_id(ngx_connection_t *c, u_char *id); ngx_quic_client_id_t *ngx_quic_create_client_id(ngx_connection_t *c, ngx_str_t *id, uint64_t seqnum, u_char *token); ngx_quic_client_id_t *ngx_quic_next_client_id(ngx_connection_t *c); ngx_int_t ngx_quic_free_client_id(ngx_connection_t *c, ngx_quic_client_id_t *cid); #endif /* _NGX_EVENT_QUIC_CONNID_H_INCLUDED_ */