1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-10 21:22:20 +03:00
Commit Graph

12 Commits

Author SHA1 Message Date
Jiahao Wu
06335bac7c Fix MSVC warnings in quic (default branch)
Summary: - add default branch to switch statement

Reviewed By: yangchi

Differential Revision: D18193056

fbshipit-source-id: e381080f4ba248d5aa35e692ba6dbc5a586e02dd
2019-10-29 18:02:18 -07:00
Subodh Iyengar
8ad7d05693 use custom variant type for errors
Summary: Use the custom variant type for errors.

Reviewed By: yangchi

Differential Revision: D17826935

fbshipit-source-id: 2bf0c3e1cc8ca84b504d201fd6c2a4266878b715
2019-10-09 22:37:40 -07:00
Subodh Iyengar
04baa15a04 Custom variant type for packetheader
Summary:
Make a custom variant type for PacketHeader. By not relying on boost::variant
this reduces the code size of the implementation.

This uses a combination of a union type as well as a enum type to emulate a variant

Reviewed By: yangchi

Differential Revision: D17187589

fbshipit-source-id: 00c2b9b8dd3f3e73af766d84888b13b9d867165a
2019-09-19 17:31:47 -07:00
Matt Joras
bcd9578fb3 Draft-23 salts and version.
Summary: This is changing with every draft now. There aren't any "hard" changes to the transport to function, just behavioral changes here and there we need to address.

Reviewed By: siyengar

Differential Revision: D17457230

fbshipit-source-id: 0883dc0385b01481e07e9fee0b5818fc4a25db72
2019-09-18 17:15:57 -07:00
Andrew Krieger
ea1a33b903 Misc fixes for building on Windows
Summary:
Mostly need a bunch of folly::assume_unreachable() (sometimes
replacing __builtin_unreachable()). One place using designated initializers
that had to get commented out. Some headers replaced with folly portability ones.

Reviewed By: mzlee, phoad

Differential Revision: D16970520

fbshipit-source-id: 1b8a36ecb1975e2dc0869b66c4ea5439baf7575d
2019-08-26 22:56:55 -07:00
Matt Joras
15fbe5106c Explicit stream frame types
Summary:
Prior to this we had an incorrect check for something being a stream frame. It technically should have worked for minimally encoded frame types, but would not work for a spec-incompliant frame type.

Instead of using a mask this makes it so each stream frame type is explicitly enumerated. This isn't as clean looking but is easier to validate as correct.

This also revealed some places where we were not correctly plumbing through the version for unit tests, so fixing those as a driveby.

Reviewed By: yangchi

Differential Revision: D16676631

fbshipit-source-id: 835dcc6e1f431bbe3fa4a5c6b8e616863c126155
2019-08-08 09:02:03 -07:00
Matt Joras
2f528e68c0 Draft-22 invariants change
Summary:
Draft-22 onwards uses two one byte length fields to encode connection ID length instead of one one byte length field.

To support this without disrupting existing clients we need to make our parsing version dependent. This diff accomplishes it by special casing the existing Facebook client QUIC version (0xfaceb000), and changing the default Facebook client version going forward to 0xfaceb001.

Note that this diff also changes the behavior of the ticket transport parameters. When we changed from draft-18 to draft-19 transport parameters I apparently forgot to update the ticket transport parameters to the new format.

Reviewed By: yangchi

Differential Revision: D16205090

fbshipit-source-id: e74a92fa959d308f4bb43bad76e58d4b58d07322
2019-07-16 17:59:58 -07:00
Bonnie Xu
9b0474979a Added toString method for long header types
Summary: Added toString method for long header types.

Reviewed By: sharma95

Differential Revision: D15790710

fbshipit-source-id: f795817d7532a9dc1e29e783fb11b08ae63c1a5c
2019-06-13 10:28:56 -07:00
Bonnie Xu
e461c75369 Added toString method for versions
Summary:
Added toString method for versions.

Used for QLogger.

Reviewed By: sharma95

Differential Revision: D15684159

fbshipit-source-id: 917ecff3bfe09673a5e9ed048b9fef235191a72c
2019-06-05 19:44:43 -07:00
Bonnie Xu
667d2955a3 Turn frames into string format
Summary:
Turn frames into string format

Used for `frame_type` as part of QLog JSON format.

See here for more details: https://raw.githubusercontent.com/quiclog/quictrace2qlog/master/example_github%20(1).qlog

Reviewed By: yangchi

Differential Revision: D15599034

fbshipit-source-id: 4a2ce03b0d910eb06c4aaf0daa17d9143bad4d55
2019-06-03 11:21:30 -07:00
Udip Pant
4a9537798e Add correct license headers on some missing files
Summary: ^

Reviewed By: sharma95

Differential Revision: D15172546

fbshipit-source-id: bacc832752a433b86962e77bb19aff4504640e60
2019-05-01 22:42:04 -07:00
udippant
50d4939e9e Initial commit of mvfst 2019-04-22 23:42:46 -07:00