Mercurial > hg > nginx-quic
view src/event/quic/ngx_event_quic_socket.h @ 8441:81d491f0dc8c quic
QUIC: unroll and inline ngx_quic_varint_len()/ngx_quic_build_int().
According to profiling, those two are among most frequently called,
so inlining is generally useful, and unrolling should help with it.
Further, this fixes undefined behaviour seen with invalid values.
Inspired by Yu Liu.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Sat, 22 May 2021 18:40:45 +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_ */