view src/event/quic/ngx_event_quic_socket.h @ 8706:bb1d1d9d76e2 quic

QUIC: removed excessive check. The c->udp->dgram may be NULL only if the quic connection was just created: the ngx_event_udp_recvmsg() passes information about datagrams to existing connections by providing information in c->udp. If case of a new connection, c->udp is allocated by the QUIC code during creation of quic connection (it uses c->sockaddr to initialize qsock->path). Thus the check for qsock->path is excessive and can be read wrong, assuming that other options possible, leading to warnings from clang static analyzer.
author Vladimir Homutov <vl@nginx.com>
date Wed, 01 Dec 2021 18:33:29 +0300
parents b09f055daa4e
children 32daba3aabb2
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_unref_path(ngx_connection_t *c, ngx_quic_path_t *path);
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_ */