comparison src/event/quic/ngx_event_quic_connid.h @ 8763:4117aa7fa38e quic

QUIC: connection migration. The patch adds proper transitions between multiple networking addresses that can be used by a single quic connection. New networking paths are validated using PATH_CHALLENGE/PATH_RESPONSE frames.
author Vladimir Homutov <vl@nginx.com>
date Thu, 29 Apr 2021 15:35:02 +0300
parents e0cb1e58ca13
children d5f93733c17d
comparison
equal deleted inserted replaced
8762:12f18e0bca09 8763:4117aa7fa38e
10 10
11 #include <ngx_config.h> 11 #include <ngx_config.h>
12 #include <ngx_core.h> 12 #include <ngx_core.h>
13 13
14 14
15 ngx_int_t ngx_quic_setup_connection_ids(ngx_connection_t *c,
16 ngx_quic_connection_t *qc, ngx_quic_header_t *pkt);
17 void ngx_quic_clear_temp_server_ids(ngx_connection_t *c);
18 ngx_int_t ngx_quic_issue_server_ids(ngx_connection_t *c);
19
20 ngx_int_t ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c, 15 ngx_int_t ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c,
21 ngx_quic_header_t *pkt, ngx_quic_retire_cid_frame_t *f); 16 ngx_quic_header_t *pkt, ngx_quic_retire_cid_frame_t *f);
22 ngx_int_t ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c, 17 ngx_int_t ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c,
23 ngx_quic_header_t *pkt, ngx_quic_new_conn_id_frame_t *f); 18 ngx_quic_header_t *pkt, ngx_quic_new_conn_id_frame_t *f);
24 19
20 ngx_int_t ngx_quic_create_sockets(ngx_connection_t *c);
21 ngx_int_t ngx_quic_create_server_id(ngx_connection_t *c, u_char *id);
22
23 ngx_quic_client_id_t *ngx_quic_create_client_id(ngx_connection_t *c,
24 ngx_str_t *id, uint64_t seqnum, u_char *token);
25 ngx_quic_client_id_t *ngx_quic_next_client_id(ngx_connection_t *c);
26 void ngx_quic_unref_client_id(ngx_connection_t *c, ngx_quic_client_id_t *cid);
27
25 #endif /* _NGX_EVENT_QUIC_CONNID_H_INCLUDED_ */ 28 #endif /* _NGX_EVENT_QUIC_CONNID_H_INCLUDED_ */