Mercurial > hg > nginx
comparison src/event/ngx_event_quic_transport.h @ 8643:5fdd0ef42232 quic
QUIC: macros for manipulating header protection and reserved bits.
This gets rid of magic numbers from quic protection and allows to push down
header construction specifics further to quic transport.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 17 Nov 2020 21:32:22 +0000 |
parents | 05b1ee464350 |
children | 2dfc5ef29973 |
comparison
equal
deleted
inserted
replaced
8642:05b1ee464350 | 8643:5fdd0ef42232 |
---|---|
16 | 16 |
17 #define NGX_QUIC_PKT_LONG 0x80 /* header form */ | 17 #define NGX_QUIC_PKT_LONG 0x80 /* header form */ |
18 #define NGX_QUIC_PKT_FIXED_BIT 0x40 | 18 #define NGX_QUIC_PKT_FIXED_BIT 0x40 |
19 #define NGX_QUIC_PKT_TYPE 0x30 /* in long packet */ | 19 #define NGX_QUIC_PKT_TYPE 0x30 /* in long packet */ |
20 #define NGX_QUIC_PKT_KPHASE 0x04 /* in short packet */ | 20 #define NGX_QUIC_PKT_KPHASE 0x04 /* in short packet */ |
21 | |
22 #define NGX_QUIC_PKT_LONG_RESERVED_BIT 0x0C | |
23 #define NGX_QUIC_PKT_SHORT_RESERVED_BIT 0x18 | |
24 | 21 |
25 #define ngx_quic_long_pkt(flags) ((flags) & NGX_QUIC_PKT_LONG) | 22 #define ngx_quic_long_pkt(flags) ((flags) & NGX_QUIC_PKT_LONG) |
26 #define ngx_quic_short_pkt(flags) (((flags) & NGX_QUIC_PKT_LONG) == 0) | 23 #define ngx_quic_short_pkt(flags) (((flags) & NGX_QUIC_PKT_LONG) == 0) |
27 | 24 |
28 /* Long packet types */ | 25 /* Long packet types */ |
37 (((flags) & NGX_QUIC_PKT_TYPE) == NGX_QUIC_PKT_ZRTT) | 34 (((flags) & NGX_QUIC_PKT_TYPE) == NGX_QUIC_PKT_ZRTT) |
38 #define ngx_quic_pkt_hs(flags) \ | 35 #define ngx_quic_pkt_hs(flags) \ |
39 (((flags) & NGX_QUIC_PKT_TYPE) == NGX_QUIC_PKT_HANDSHAKE) | 36 (((flags) & NGX_QUIC_PKT_TYPE) == NGX_QUIC_PKT_HANDSHAKE) |
40 #define ngx_quic_pkt_retry(flags) \ | 37 #define ngx_quic_pkt_retry(flags) \ |
41 (((flags) & NGX_QUIC_PKT_TYPE) == NGX_QUIC_PKT_RETRY) | 38 (((flags) & NGX_QUIC_PKT_TYPE) == NGX_QUIC_PKT_RETRY) |
39 | |
40 #define ngx_quic_pkt_rb_mask(flags) \ | |
41 (ngx_quic_long_pkt(flags) ? 0x0C : 0x18) | |
42 #define ngx_quic_pkt_hp_mask(flags) \ | |
43 (ngx_quic_long_pkt(flags) ? 0x0F : 0x1F) | |
42 | 44 |
43 #define ngx_quic_level_name(lvl) \ | 45 #define ngx_quic_level_name(lvl) \ |
44 (lvl == ssl_encryption_application) ? "app" \ | 46 (lvl == ssl_encryption_application) ? "app" \ |
45 : (lvl == ssl_encryption_initial) ? "init" \ | 47 : (lvl == ssl_encryption_initial) ? "init" \ |
46 : (lvl == ssl_encryption_handshake) ? "hs" : "early" | 48 : (lvl == ssl_encryption_handshake) ? "hs" : "early" |