mirror of
https://github.com/nginx/nginx.git
synced 2024-12-03 21:18:59 +08:00
QUIC: simplified sending 1-RTT only frames.
This commit is contained in:
parent
c8b273fd99
commit
8f0d5edf63
@ -1265,8 +1265,7 @@ ngx_quic_handle_frames(ngx_connection_t *c, ngx_quic_header_t *pkt)
|
||||
|
||||
case NGX_QUIC_FT_PATH_CHALLENGE:
|
||||
|
||||
if (ngx_quic_handle_path_challenge_frame(c, pkt,
|
||||
&frame.u.path_challenge)
|
||||
if (ngx_quic_handle_path_challenge_frame(c, &frame.u.path_challenge)
|
||||
!= NGX_OK)
|
||||
{
|
||||
return NGX_ERROR;
|
||||
@ -1276,8 +1275,7 @@ ngx_quic_handle_frames(ngx_connection_t *c, ngx_quic_header_t *pkt)
|
||||
|
||||
case NGX_QUIC_FT_PATH_RESPONSE:
|
||||
|
||||
if (ngx_quic_handle_path_response_frame(c, pkt,
|
||||
&frame.u.path_response)
|
||||
if (ngx_quic_handle_path_response_frame(c, &frame.u.path_response)
|
||||
!= NGX_OK)
|
||||
{
|
||||
return NGX_ERROR;
|
||||
@ -1287,7 +1285,7 @@ ngx_quic_handle_frames(ngx_connection_t *c, ngx_quic_header_t *pkt)
|
||||
|
||||
case NGX_QUIC_FT_NEW_CONNECTION_ID:
|
||||
|
||||
if (ngx_quic_handle_new_connection_id_frame(c, pkt, &frame.u.ncid)
|
||||
if (ngx_quic_handle_new_connection_id_frame(c, &frame.u.ncid)
|
||||
!= NGX_OK)
|
||||
{
|
||||
return NGX_ERROR;
|
||||
@ -1297,7 +1295,7 @@ ngx_quic_handle_frames(ngx_connection_t *c, ngx_quic_header_t *pkt)
|
||||
|
||||
case NGX_QUIC_FT_RETIRE_CONNECTION_ID:
|
||||
|
||||
if (ngx_quic_handle_retire_connection_id_frame(c, pkt,
|
||||
if (ngx_quic_handle_retire_connection_id_frame(c,
|
||||
&frame.u.retire_cid)
|
||||
!= NGX_OK)
|
||||
{
|
||||
|
@ -16,7 +16,7 @@
|
||||
static ngx_int_t ngx_quic_bpf_attach_id(ngx_connection_t *c, u_char *id);
|
||||
#endif
|
||||
static ngx_int_t ngx_quic_send_retire_connection_id(ngx_connection_t *c,
|
||||
enum ssl_encryption_level_t level, uint64_t seqnum);
|
||||
uint64_t seqnum);
|
||||
|
||||
static ngx_quic_client_id_t *ngx_quic_alloc_client_id(ngx_connection_t *c,
|
||||
ngx_quic_connection_t *qc);
|
||||
@ -75,7 +75,7 @@ ngx_quic_bpf_attach_id(ngx_connection_t *c, u_char *id)
|
||||
|
||||
ngx_int_t
|
||||
ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_new_conn_id_frame_t *f)
|
||||
ngx_quic_new_conn_id_frame_t *f)
|
||||
{
|
||||
ngx_str_t id;
|
||||
ngx_queue_t *q;
|
||||
@ -94,9 +94,7 @@ ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c,
|
||||
* done so for that sequence number.
|
||||
*/
|
||||
|
||||
if (ngx_quic_send_retire_connection_id(c, pkt->level, f->seqnum)
|
||||
!= NGX_OK)
|
||||
{
|
||||
if (ngx_quic_send_retire_connection_id(c, f->seqnum) != NGX_OK) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
@ -174,9 +172,7 @@ retire:
|
||||
|
||||
/* this connection id must be retired */
|
||||
|
||||
if (ngx_quic_send_retire_connection_id(c, pkt->level, cid->seqnum)
|
||||
!= NGX_OK)
|
||||
{
|
||||
if (ngx_quic_send_retire_connection_id(c, cid->seqnum) != NGX_OK) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
@ -210,8 +206,7 @@ done:
|
||||
|
||||
|
||||
static ngx_int_t
|
||||
ngx_quic_send_retire_connection_id(ngx_connection_t *c,
|
||||
enum ssl_encryption_level_t level, uint64_t seqnum)
|
||||
ngx_quic_send_retire_connection_id(ngx_connection_t *c, uint64_t seqnum)
|
||||
{
|
||||
ngx_quic_frame_t *frame;
|
||||
ngx_quic_connection_t *qc;
|
||||
@ -223,7 +218,7 @@ ngx_quic_send_retire_connection_id(ngx_connection_t *c,
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
frame->level = level;
|
||||
frame->level = ssl_encryption_application;
|
||||
frame->type = NGX_QUIC_FT_RETIRE_CONNECTION_ID;
|
||||
frame->u.retire_cid.sequence_number = seqnum;
|
||||
|
||||
@ -356,7 +351,7 @@ ngx_quic_used_client_id(ngx_connection_t *c, ngx_quic_path_t *path)
|
||||
|
||||
ngx_int_t
|
||||
ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_retire_cid_frame_t *f)
|
||||
ngx_quic_retire_cid_frame_t *f)
|
||||
{
|
||||
ngx_quic_path_t *path;
|
||||
ngx_quic_socket_t *qsock, **tmp;
|
||||
|
@ -13,9 +13,9 @@
|
||||
|
||||
|
||||
ngx_int_t ngx_quic_handle_retire_connection_id_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_retire_cid_frame_t *f);
|
||||
ngx_quic_retire_cid_frame_t *f);
|
||||
ngx_int_t ngx_quic_handle_new_connection_id_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_new_conn_id_frame_t *f);
|
||||
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);
|
||||
|
@ -22,7 +22,7 @@ static ngx_quic_path_t *ngx_quic_alloc_path(ngx_connection_t *c);
|
||||
|
||||
ngx_int_t
|
||||
ngx_quic_handle_path_challenge_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f)
|
||||
ngx_quic_path_challenge_frame_t *f)
|
||||
{
|
||||
off_t max, pad;
|
||||
ssize_t sent;
|
||||
@ -33,7 +33,7 @@ ngx_quic_handle_path_challenge_frame(ngx_connection_t *c,
|
||||
|
||||
qc = ngx_quic_get_connection(c);
|
||||
|
||||
frame.level = pkt->level;
|
||||
frame.level = ssl_encryption_application;
|
||||
frame.type = NGX_QUIC_FT_PATH_RESPONSE;
|
||||
frame.u.path_response = *f;
|
||||
|
||||
@ -70,7 +70,7 @@ ngx_quic_handle_path_challenge_frame(ngx_connection_t *c,
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
fp->level = pkt->level;
|
||||
fp->level = ssl_encryption_application;
|
||||
fp->type = NGX_QUIC_FT_PING;
|
||||
|
||||
ngx_quic_queue_frame(qc, fp);
|
||||
@ -82,7 +82,7 @@ ngx_quic_handle_path_challenge_frame(ngx_connection_t *c,
|
||||
|
||||
ngx_int_t
|
||||
ngx_quic_handle_path_response_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f)
|
||||
ngx_quic_path_challenge_frame_t *f)
|
||||
{
|
||||
ngx_queue_t *q;
|
||||
ngx_quic_path_t *path, *prev;
|
||||
@ -557,7 +557,6 @@ ngx_quic_validate_path(ngx_connection_t *c, ngx_quic_socket_t *qsock)
|
||||
ngx_add_timer(&qc->path_validation, pto);
|
||||
}
|
||||
|
||||
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
|
@ -26,9 +26,9 @@
|
||||
|
||||
|
||||
ngx_int_t ngx_quic_handle_path_challenge_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f);
|
||||
ngx_quic_path_challenge_frame_t *f);
|
||||
ngx_int_t ngx_quic_handle_path_response_frame(ngx_connection_t *c,
|
||||
ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f);
|
||||
ngx_quic_path_challenge_frame_t *f);
|
||||
|
||||
ngx_quic_path_t *ngx_quic_add_path(ngx_connection_t *c,
|
||||
struct sockaddr *sockaddr, socklen_t socklen);
|
||||
|
Loading…
Reference in New Issue
Block a user