Mercurial > hg > nginx
view src/core/ngx_crc32.h @ 9103:b9230e37b8a1 quic
QUIC: removed "quic_mtu" directive.
The directive used to set the value of the "max_udp_payload_size" transport
parameter. According to RFC 9000, Section 18.2, the value specifies the size
of buffer for reading incoming datagrams:
This limit does act as an additional constraint on datagram size in
the same way as the path MTU, but it is a property of the endpoint
and not the path; see Section 14. It is expected that this is the
space an endpoint dedicates to holding incoming packets.
Current QUIC implementation uses the maximum possible buffer size (65527) for
reading datagrams.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 11 May 2023 10:37:51 +0400 |
parents | d620f497c50f |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_CRC32_H_INCLUDED_ #define _NGX_CRC32_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> extern uint32_t *ngx_crc32_table_short; extern uint32_t ngx_crc32_table256[]; static ngx_inline uint32_t ngx_crc32_short(u_char *p, size_t len) { u_char c; uint32_t crc; crc = 0xffffffff; while (len--) { c = *p++; crc = ngx_crc32_table_short[(crc ^ (c & 0xf)) & 0xf] ^ (crc >> 4); crc = ngx_crc32_table_short[(crc ^ (c >> 4)) & 0xf] ^ (crc >> 4); } return crc ^ 0xffffffff; } static ngx_inline uint32_t ngx_crc32_long(u_char *p, size_t len) { uint32_t crc; crc = 0xffffffff; while (len--) { crc = ngx_crc32_table256[(crc ^ *p++) & 0xff] ^ (crc >> 8); } return crc ^ 0xffffffff; } #define ngx_crc32_init(crc) \ crc = 0xffffffff static ngx_inline void ngx_crc32_update(uint32_t *crc, u_char *p, size_t len) { uint32_t c; c = *crc; while (len--) { c = ngx_crc32_table256[(c ^ *p++) & 0xff] ^ (c >> 8); } *crc = c; } #define ngx_crc32_final(crc) \ crc ^= 0xffffffff ngx_int_t ngx_crc32_table_init(void); #endif /* _NGX_CRC32_H_INCLUDED_ */