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

23 Commits

Author SHA1 Message Date
Andrii Vasylevskyi
8e785bbfc2 Add -Wextra-semi compiler flag
Summary: Cleaned up extra semicolons for compatibility with other projects enforcing the flag, included flag in build

Reviewed By: lnicco, JunqiWang

Differential Revision: D21794945

fbshipit-source-id: ae2ee637aadeef35a99d89f9b8deaa2e7d636ed7
2020-05-30 07:39:59 -07:00
Subodh Iyengar
8750462043 Separate out qlogger code into baseqlogger
Summary:
Move major QLogger code into BaseQLogger so that mobile clients can choose not
to depend on it.

Reviewed By: mjoras

Differential Revision: D17781130

fbshipit-source-id: 3e35c552c8948a8c15ddb0170d28a92326aea9e1
2019-10-07 22:43:32 -07:00
Subodh Iyengar
cbbc6b0c77 Custom variant for simple frames
Summary: Use a custom variant for simple frames

Reviewed By: mjoras

Differential Revision: D17781068

fbshipit-source-id: e059d33df4651c7e0a1c989cc8651c9cd661b14b
2019-10-07 22:43:32 -07:00
Subodh Iyengar
68c332acb1 Use custom variant type for write frames
Summary:
Use the custom variant type for write frames as well, now that
we use them for read frames.

Reviewed By: mjoras

Differential Revision: D17776862

fbshipit-source-id: 47093146d0f1565c22e5393ed012c70e2e23d279
2019-10-07 22:43:31 -07:00
Yang Chi
6d00ae544d Temp enum fix in variant macro to unshadow QuicSimpleFrame type alias
Summary:
It looks like under some compiler flags, type alias follows a very
different rule of name shadowing. This diff adds a trailing "_E" to generated
enum names to unbreak builds. I will send another diff to make it less ugly
later. And eventually the QuicSimpleFrame won't be a type alias once it's no
longer a boost_variant.

Reviewed By: siyengar

Differential Revision: D17766330

fbshipit-source-id: 7b3c5847fd2c1eae10757bfbf9558a38f3085f10
2019-10-04 12:57:54 -07:00
Subodh Iyengar
95f509ae54 custom variant type for read frames
Summary:
Create a custom type for read frame types. This allows us to reduce size of code.
We use a macro to generate new variant types whenever we need to.

Reviewed By: yangchi

Differential Revision: D17266468

fbshipit-source-id: 59a1183dce728e71f0924f39f95a7b78449642b0
2019-10-03 18:17:39 -07:00
Viktor Chynarov
4aa2b6b8de Helper function for QuicSimpleFrame logging in Qlog
Reviewed By: sharma95

Differential Revision: D17689105

fbshipit-source-id: 851db26b662cd0c35c29d82fa45f26e87ccb3abf
2019-10-01 13:27:25 -07:00
Viktor Chynarov
fa98978d6d Back out "Revert D15264935: [quic] Make RetireConnectionIdFrame a QuicSimpleFrame (for now)"
Summary: Original commit changeset: aa2ccf4bb39e

Reviewed By: lnicco

Differential Revision: D17688496

fbshipit-source-id: e627784cdfe208994cbae3f71062d74d312d3600
2019-10-01 11:11:05 -07:00
Subodh Iyengar
f797bb2354 Fix QLogger logging
Summary: QLogger had the matches on the wrong types. This fixes it.

Reviewed By: yangchi

Differential Revision: D17266469

fbshipit-source-id: 6ac7d2fb51e062feaa800c9690fe2049cad4ea9f
2019-09-30 17:02:25 -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
Bonnie Xu
851c374518 Small fixes
Summary: Small fixes to qlog.

Reviewed By: sharma95

Differential Revision: D16966786

fbshipit-source-id: 7b85a85c218e3a827794c53352acd33cdf96af92
2019-08-22 17:52:20 -07:00
Bonnie Xu
d55244947c Add HTTP3 event to Proxygen
Summary: Add HTTP3 event to Proxygen for qlog.

Reviewed By: sharma95

Differential Revision: D16500311

fbshipit-source-id: 2bd06a7babab699f68d1c8c00c82aebac73880f0
2019-08-01 14:09:20 -07:00
Bonnie Xu
db349541f2 Update qlog format to be more complete
Summary: Update qlog format to be more complete. Adding the summary section (with extra fields like title, description, etc). This diff is just to make the format more on par with Robin's schema.

Reviewed By: mjoras

Differential Revision: D16499808

fbshipit-source-id: 56cfbb95404f7e3c6638bffda18b53f7d83048a1
2019-07-30 12:48:57 -07:00
Bonnie Xu
3203074c41 Reduce number of padding frames
Summary: Reduce the number of padding frames that are generated, to decrease overall qlog size.

Reviewed By: sharma95

Differential Revision: D16533449

fbshipit-source-id: 68f9c48e265576bff098dfeee87e576e86a32330
2019-07-29 10:16:30 -07:00
Junqi Wang
346a51f63f Update NewConnectionIdFrame to D-22
Summary: ^

Reviewed By: sharma95

Differential Revision: D16466184

fbshipit-source-id: f5a9b8e65e92048393b78305b0d176ab2f4fe338
2019-07-25 11:52:20 -07:00
Bonnie Xu
0929100b18 Add transportStateUpdate event
Summary: Add transportStateUpdate event so it can be part of qlog.

Reviewed By: mjoras

Differential Revision: D16342467

fbshipit-source-id: 109189275d44996850b82646bab4a733a3a4c7a1
2019-07-25 11:52:19 -07:00
Bonnie Xu
3e14356c1c Fix qlogger to accomodate for retry
Summary:
Fixes include
1. Added packet_sent qlog event where it should be.
2. Reinitialize the qLogger after retry.
3. Fix issue where retry fails because packetNum can't be found.

Reviewed By: mjoras

Differential Revision: D16403221

fbshipit-source-id: 9288c1b24e98dc11e3b83575f58ca05445261ae3
2019-07-20 16:06:22 -07:00
Bonnie Xu
1ec04e76ee Added reference time field to QLogger
Summary:
Added reference time field to QLogger. Reference time is [`time QLogger instantiated - time event created`](https://quiclog.github.io/internet-drafts/draft-marx-quic-logging-main-schema.html#rfc.section.3.4.1).
Added in accordance with [QLog schema, see the reference time field](https://raw.githubusercontent.com/quiclog/internet-drafts/master/examples/draft-00/draft-00-basic_example.qlog).

Reviewed By: sharma95

Differential Revision: D16038167

fbshipit-source-id: 29a4ef6be0d0efed957ece334ded39ceea01a486
2019-06-27 19:59:30 -07:00
Bonnie Xu
685ff77e22 s/size_t/uint64_t/g in qlogger
Reviewed By: vchynarov

Differential Revision: D15983098

fbshipit-source-id: 34f9c4f7c6256add6eb51888d55d7e8c953e92a0
2019-06-25 21:16:04 -07:00
Bonnie Xu
a6606f2a52 Setup logging in Quic based on QLogger
Summary: Setup logging in Quic based on QLogger.

Reviewed By: mjoras

Differential Revision: D15818340

fbshipit-source-id: 553aaedc6043a7f079c597ef0647c5b91f3033df
2019-06-24 09:45:45 -07:00
Bonnie Xu
91963d1af4 Refactor QLogger to include derived QLogger classes depending on use case
Summary:
Refactor QLogger to include derived QLogger classes depending on use case.

The QLog output will differ depending on what is requesting a QLog.

`File QLogger`: This is connected to HQ, stores all of the events per connection, and then outputs them to a file.

Reviewed By: sharma95

Differential Revision: D15928447

fbshipit-source-id: b2cdcd4d6305585b0f4f0aa21a95d1398aa761a5
2019-06-20 19:00:55 -07:00
Bonnie Xu
805029b648 Added functionality to construct toDynamic objects
Summary: Converting stored QLog events into a toDynamic object that aligns with QLog format.

Reviewed By: sharma95

Differential Revision: D15725495

fbshipit-source-id: 0721a2d6858cfd99e191e3dfdc5f25f544106c86
2019-06-17 19:29:43 -07:00
Bonnie Xu
1affb7e49d Interface for QLogger
Summary:
Interface for QLogger:
- Takes in a Quic packet (`VersionNegotiation`, `RegularQuicWritePacket`, `RegularQuicPacket`)
- Stores it in QLogger
  - each packet is an event
  - each frame becomes a log

Reviewed By: sharma95

Differential Revision: D15581299

fbshipit-source-id: dedf933f47e2e8769109aa1e45ff38c2bf013714
2019-06-14 11:48:34 -07:00