view src/event/quic/ngx_event_quic_socket.h @ 8777:d5f93733c17d quic

QUIC: relaxed client id requirements. Client IDs cannot be reused on different paths. This change allows to reuse client id previosly seen on the same path (but with different dcid) in case when no unused client IDs are available.
author Vladimir Homutov <vl@nginx.com>
date Wed, 05 May 2021 18:11:55 +0300
parents 4117aa7fa38e
children b09f055daa4e
line wrap: on
line source


/*
 * Copyright (C) Nginx, Inc.
 */


#ifndef _NGX_EVENT_QUIC_SOCKET_H_INCLUDED_
#define _NGX_EVENT_QUIC_SOCKET_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>


ngx_int_t ngx_quic_open_sockets(ngx_connection_t *c,
    ngx_quic_connection_t *qc, ngx_quic_header_t *pkt);
void ngx_quic_close_sockets(ngx_connection_t *c);

ngx_quic_socket_t *ngx_quic_alloc_socket(ngx_connection_t *c,
    ngx_quic_connection_t *qc);
ngx_int_t ngx_quic_listen(ngx_connection_t *c, ngx_quic_connection_t *qc,
    ngx_quic_socket_t *qsock);
void ngx_quic_close_socket(ngx_connection_t *c, ngx_quic_socket_t *qsock);

void ngx_quic_connect(ngx_connection_t *c, ngx_quic_socket_t *qsock,
    ngx_quic_path_t *path, ngx_quic_client_id_t *cid);

ngx_quic_socket_t *ngx_quic_find_socket(ngx_connection_t *c, uint64_t seqnum);
ngx_quic_socket_t *ngx_quic_get_unconnected_socket(ngx_connection_t *c);


#endif /* _NGX_EVENT_QUIC_SOCKET_H_INCLUDED_ */