commit | a676db9907fc9273bfce683a5bcf2f39ff29cbec | [log] [tgz] |
---|---|---|
author | Vitaly Goldshteyn <goldvitaly@google.com> | Tue Jan 14 08:11:16 2025 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Jan 14 08:12:13 2025 -0800 |
tree | fb6e46f71f14d04b7c42f3e0b107724fc1f81471 | |
parent | 67c93924d8c4242b2bcc7e753431beed47716044 [diff] |
LSC: Apply performance-unnecessary-value-param where it matters for performance. This cl was generated with go/gwp-clang-tidy. The following lines are helpful in [determining](http://go/gwp-clang-tidy#metrics-summary) the impact of the change: ``` gwp_clang_tidy_metric: 667.275 gcus gwp_clang_tidy_metric_for_key: 667.275 gcus gwp_clang_tidy_fn_name: quic::(anonymous namespace)::AppendIetfConnectionIds(bool, bool, quic::QuicConnectionId, quic::QuicConnectionId, quic::QuicDataWriter*) gwp_clang_tidy_num_overlapping_findings: 6 gwp_clang_tidy_call: quic::QuicFramer::AppendIetfPacketHeader(quic::QuicPacketHeader const&, quic::QuicDataWriter*, unsigned long*) -> quic::QuicConnectionId::QuicConnectionId(quic::QuicConnectionId const&) (590.613 gcus) gwp_clang_tidy_call: quic::QuicFramer::BuildIetfVersionNegotiationPacket(bool, quic::QuicConnectionId, quic::QuicConnectionId, std::__u::vector<quic::ParsedQuicVersion, std::__u::allocator<quic::ParsedQuicVersion>> const&) -> quic::QuicConnectionId::~QuicConnectionId() (0.0511007 gcus) gwp_clang_tidy_call: quic::QuicFramer::BuildDataPacket(quic::QuicPacketHeader const&, absl::InlinedVector<quic::QuicFrame, 1ul, std::__u::allocator<quic::QuicFrame>> const&, char*, unsigned long, quic::EncryptionLevel) -> quic::QuicConnectionId::QuicConnectionId(quic::QuicConnectionId const&) (3.16413 gcus) gwp_clang_tidy_call: quic::QuicFramer::BuildIetfVersionNegotiationPacket(bool, quic::QuicConnectionId, quic::QuicConnectionId, std::__u::vector<quic::ParsedQuicVersion, std::__u::allocator<quic::ParsedQuicVersion>> const&) -> quic::QuicConnectionId::QuicConnectionId(quic::QuicConnectionId const&) (0.215968 gcus) gwp_clang_tidy_call: quic::QuicFramer::WriteClientVersionNegotiationProbePacket(char*, unsigned long, char const*, unsigned char) -> quic::QuicConnectionId::~QuicConnectionId() (0.0205518 gcus) gwp_clang_tidy_call: quic::QuicFramer::WriteClientVersionNegotiationProbePacket(char*, unsigned long, char const*, unsigned char) -> quic::QuicConnectionId::QuicConnectionId(quic::QuicConnectionId const&) (0.128068 gcus) gwp_clang_tidy_call: quic::QuicFramer::AppendIetfPacketHeader(quic::QuicPacketHeader const&, quic::QuicDataWriter*, unsigned long*) -> quic::QuicConnectionId::~QuicConnectionId() (73.0821 gcus) gwp_clang_tidy_type_name: class quic::QuicConnectionId gwp_clang_tidy_check: google3-custom-unnecessary-value-param ``` Tested: http://test/OCL:713980267:BASE:715300728:1736851372677:caa9282b Some test failures are present; the CL author decided to mail PiperOrigin-RevId: 715386954
QUICHE stands for QUIC, Http, Etc. It is Google‘s production-ready implementation of QUIC, HTTP/2, HTTP/3, and related protocols and tools. It powers Google’s servers, Chromium, Envoy, and other projects. It is actively developed and maintained.
There are two public QUICHE repositories. Either one may be used by embedders, as they are automatically kept in sync:
To embed QUICHE in your project, platform APIs need to be implemented and build files need to be created. Note that it is on the QUICHE team's roadmap to include default implementation for all platform APIs and to open-source build files. In the meanwhile, take a look at open source embedders like Chromium and Envoy to get started:
To contribute to QUICHE, follow instructions at CONTRIBUTING.md.
QUICHE is only supported on little-endian platforms.