1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2026-01-06 03:41:10 +03:00
Files
mvfst/quic/server/handshake/AppToken.cpp
Matt Joras aefc9e369b Introduce quic::Optional
Summary:
The idea here is to make it so we can swap out the type we are using for optionality. In the near term we are going to try swapping towards one that more aggressively tries to save size.

For now there is no functional change and this is just a big aliasing diff.

Reviewed By: sharmafb

Differential Revision: D57633896

fbshipit-source-id: 6eae5953d47395b390016e59cf9d639f3b6c8cfe
2024-06-11 11:02:02 -07:00

50 lines
1.9 KiB
C++

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include <quic/server/handshake/AppToken.h>
namespace quic {
TicketTransportParameters createTicketTransportParameters(
uint64_t idleTimeout,
uint64_t maxRecvPacketSize,
uint64_t initialMaxData,
uint64_t initialMaxStreamDataBidiLocal,
uint64_t initialMaxStreamDataBidiRemote,
uint64_t initialMaxStreamDataUni,
uint64_t initialMaxStreamsBidi,
uint64_t initialMaxStreamsUni,
Optional<uint64_t> cwndHintBytes) {
TicketTransportParameters params;
params.parameters.push_back(
encodeIntegerParameter(TransportParameterId::idle_timeout, idleTimeout));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::max_packet_size, maxRecvPacketSize));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::initial_max_data, initialMaxData));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::initial_max_stream_data_bidi_local,
initialMaxStreamDataBidiLocal));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::initial_max_stream_data_bidi_remote,
initialMaxStreamDataBidiRemote));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::initial_max_stream_data_uni,
initialMaxStreamDataUni));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::initial_max_streams_bidi, initialMaxStreamsBidi));
params.parameters.push_back(encodeIntegerParameter(
TransportParameterId::initial_max_streams_uni, initialMaxStreamsUni));
if (cwndHintBytes) {
params.parameters.push_back((encodeIntegerParameter(
TransportParameterId::cwnd_hint_bytes, *cwndHintBytes)));
}
return params;
}
} // namespace quic