1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-24 04:01:07 +03:00

::getServerTransportParams signature change

Summary:
change signature of both `ClientHandshake::getServerTransportParams` & `ClientTransportParametersExtension::getServerTransportParams`

from:
```
folly::Optional<ServerTransportParameters> getServerTransportParams()
```
to:
```
const folly::Optional<ServerTransportParameters>& getServerTransportParams()
```

previously this would `std::move(serverTransportParameters_)` after reading it, effectively making it possible to only read the value once.

Reviewed By: kvtsoy

Differential Revision: D48356933

fbshipit-source-id: deddd9101979c1ef30d540b67216dc9611ced713
This commit is contained in:
Hani Damlaj
2023-08-17 15:37:50 -07:00
committed by Facebook GitHub Bot
parent b1eeddbdfe
commit a17a25d08a
8 changed files with 11 additions and 10 deletions

View File

@@ -684,7 +684,7 @@ void QuicClientTransport::processPacketData(
// was rejected, or we have derived 1-rtt keys and 0-rtt was never
// attempted.
if (oneRttKeyDerivationTriggered) {
auto serverParams = handshakeLayer->getServerTransportParams();
const auto& serverParams = handshakeLayer->getServerTransportParams();
if (!serverParams) {
throw QuicTransportException(
"No server transport params",
@@ -711,7 +711,7 @@ void QuicClientTransport::processPacketData(
TransportParameterId::initial_max_streams_uni,
serverParams->parameters);
processServerInitialParams(
*clientConn_, std::move(*serverParams), packetNum);
*clientConn_, serverParams.value(), packetNum);
cacheServerInitialParams(
*clientConn_,

View File

@@ -109,7 +109,7 @@ ClientHandshake::Phase ClientHandshake::getPhase() const {
return phase_;
}
folly::Optional<ServerTransportParameters>
const folly::Optional<ServerTransportParameters>&
ClientHandshake::getServerTransportParams() {
return transportParams_->getServerTransportParams();
}

View File

@@ -87,7 +87,8 @@ class ClientHandshake : public Handshake {
/**
* Returns the negotiated transport parameters chosen by the server
*/
virtual folly::Optional<ServerTransportParameters> getServerTransportParams();
virtual const folly::Optional<ServerTransportParameters>&
getServerTransportParams();
~ClientHandshake() override = default;

View File

@@ -41,8 +41,8 @@ struct ClientTransportParametersExtension {
initialSourceCid_(initialSourceCid),
customTransportParameters_(std::move(customTransportParameters)) {}
folly::Optional<ServerTransportParameters> getServerTransportParams() {
return std::move(serverTransportParameters_);
const folly::Optional<ServerTransportParameters>& getServerTransportParams() {
return serverTransportParameters_;
}
QuicVersion encodingVersion_;

View File

@@ -101,7 +101,7 @@ std::unique_ptr<QuicClientConnectionState> undoAllClientStateForRetry(
void processServerInitialParams(
QuicClientConnectionState& conn,
ServerTransportParameters serverParams,
const ServerTransportParameters& serverParams,
PacketNum packetNum) {
auto maxData = getIntegerParameter(
TransportParameterId::initial_max_data, serverParams.parameters);

View File

@@ -144,7 +144,7 @@ std::unique_ptr<QuicClientConnectionState> undoAllClientStateForRetry(
void processServerInitialParams(
QuicClientConnectionState& conn,
ServerTransportParameters serverParams,
const ServerTransportParameters& serverParams,
PacketNum packetNum);
void cacheServerInitialParams(

View File

@@ -56,7 +56,7 @@ class MockClientHandshake : public ClientHandshake {
MOCK_METHOD(bool, isTLSResumed, (), (const));
MOCK_METHOD(folly::Optional<bool>, getZeroRttRejected, ());
MOCK_METHOD(
folly::Optional<ServerTransportParameters>,
const folly::Optional<ServerTransportParameters>&,
getServerTransportParams,
());
MOCK_METHOD(void, destroy, ());

View File

@@ -316,7 +316,7 @@ class FakeOneRttHandshakeLayer : public FizzClientHandshake {
return connected_;
}
folly::Optional<ServerTransportParameters> getServerTransportParams()
const folly::Optional<ServerTransportParameters>& getServerTransportParams()
override {
return params_;
}