mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-09 10:00:57 +03:00
MaxNumMigrationsAllowed Transport Setting
Summary: - add configurable `maxNumMigrationsAllowed` to transport settings Reviewed By: kvtsoy Differential Revision: D41137450 fbshipit-source-id: a82c97e0b58c13f5df3c4cd075d3f17702eca009
This commit is contained in:
committed by
Facebook GitHub Bot
parent
772b47adaa
commit
729623ca26
@@ -581,7 +581,7 @@ constexpr std::chrono::seconds kTimeToRetainZeroRttKeys = 20s;
|
||||
|
||||
constexpr std::chrono::seconds kTimeToRetainLastCongestionAndRttState = 60s;
|
||||
|
||||
constexpr uint32_t kMaxNumMigrationsAllowed = 6;
|
||||
constexpr uint16_t kMaxNumMigrationsAllowed = 6;
|
||||
|
||||
constexpr auto kExpectedNumOfParamsInTheTicket = 8;
|
||||
|
||||
|
||||
@@ -594,7 +594,8 @@ void onConnectionMigration(
|
||||
QuicServerConnectionState& conn,
|
||||
const folly::SocketAddress& newPeerAddress,
|
||||
bool isIntentional) {
|
||||
if (conn.migrationState.numMigrations >= kMaxNumMigrationsAllowed) {
|
||||
if (conn.migrationState.numMigrations >=
|
||||
conn.transportSettings.maxNumMigrationsAllowed) {
|
||||
if (conn.qLogger) {
|
||||
conn.qLogger->addPacketDrop(
|
||||
0,
|
||||
|
||||
@@ -2209,7 +2209,9 @@ TEST_F(QuicServerTransportTest, TooManyMigrations) {
|
||||
0 /* cipherOverhead */,
|
||||
0 /* largestAcked */));
|
||||
|
||||
for (size_t i = 0; i < kMaxNumMigrationsAllowed; ++i) {
|
||||
uint16_t maxNumMigrationsAllowed =
|
||||
server->getConn().transportSettings.maxNumMigrationsAllowed;
|
||||
for (uint16_t i = 0; i < maxNumMigrationsAllowed; ++i) {
|
||||
folly::SocketAddress newPeer("100.101.102.103", 23456 + i);
|
||||
deliverData(packetData->clone(), false, &newPeer);
|
||||
}
|
||||
|
||||
@@ -177,6 +177,8 @@ struct TransportSettings {
|
||||
bool connectUDP{false};
|
||||
// Maximum number of consecutive PTOs before the connection is torn down.
|
||||
uint16_t maxNumPTOs{kDefaultMaxNumPTO};
|
||||
// Maximum number of connection ids to issue to peer
|
||||
uint16_t maxNumMigrationsAllowed{kMaxNumMigrationsAllowed};
|
||||
// Whether to listen to socket error
|
||||
bool enableSocketErrMsgCallback{true};
|
||||
// Whether pacing is enabled.
|
||||
|
||||
Reference in New Issue
Block a user