Mercurial > hg > nginx
comparison src/http/v3/ngx_http_v3.c @ 8349:b13176e717ba quic
HTTP/3: fixed encoding variable-length integers.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Tue, 21 Apr 2020 17:11:49 +0300 |
parents | 268f4389130d |
children | b0e81f49d7c0 |
comparison
equal
deleted
inserted
replaced
8348:d42b50d239f4 | 8349:b13176e717ba |
---|---|
32 return (uintptr_t) p; | 32 return (uintptr_t) p; |
33 } | 33 } |
34 | 34 |
35 if (value <= 1073741823) { | 35 if (value <= 1073741823) { |
36 if (p == NULL) { | 36 if (p == NULL) { |
37 return 3; | 37 return 4; |
38 } | 38 } |
39 | 39 |
40 *p++ = 0x80 | (value >> 16); | 40 *p++ = 0x80 | (value >> 24); |
41 *p++ = (value >> 16); | |
41 *p++ = (value >> 8); | 42 *p++ = (value >> 8); |
42 *p++ = value; | 43 *p++ = value; |
43 return (uintptr_t) p; | 44 return (uintptr_t) p; |
44 | |
45 } | 45 } |
46 | 46 |
47 if (p == NULL) { | 47 if (p == NULL) { |
48 return 4; | 48 return 8; |
49 } | 49 } |
50 | 50 |
51 *p++ = 0xc0 | (value >> 24); | 51 *p++ = 0xc0 | (value >> 56); |
52 *p++ = (value >> 48); | |
53 *p++ = (value >> 40); | |
54 *p++ = (value >> 32); | |
55 *p++ = (value >> 24); | |
52 *p++ = (value >> 16); | 56 *p++ = (value >> 16); |
53 *p++ = (value >> 8); | 57 *p++ = (value >> 8); |
54 *p++ = value; | 58 *p++ = value; |
55 return (uintptr_t) p; | 59 return (uintptr_t) p; |
56 } | 60 } |