Skip to content

Commit

Permalink
Landing recent QUIC changes until Thu Jan 25 21:32:51 2018 +0000
Browse files Browse the repository at this point in the history
Merge flag changes.
https://chromium-review.googlesource.com/c/chromium/src/+/892464


Support serializing and parsing QUIC Transport Parameters

QUIC Transport Parameters are put in a TLS extension and used by each
endpoint to unilaterally inform the other peer what parameters it
supports. This change adds code to serialize them into the wire format
suitable to be passed into SSL_set_quic_transport_params, and to parse
the wire format that comes from SSL_get_peer_quic_transport_params.

currently unused support code for TLS 1.3 in QUIC

Merge internal change: 183139434
https://chromium-review.googlesource.com/c/892460/


In QUIC, replace is_unackable with an enum SentPacketState. No functional change expected. Not protected.

Merge internal change: 183132907
https://chromium-review.googlesource.com/c/892208/


Make some QUIC dlogs more informative.

Merge internal change: 182957865
https://chromium-review.googlesource.com/c/892358/


Refactor socket creation logic for quic client to take in receive/send buffer size as arguments. And take flag value for that in quic to backend connection.

n/a, refactor only. Modified code is not used in production, not flag protected.

Merge internal change: 182940277
https://chromium-review.googlesource.com/c/892120/


Deprecate FLAGS_quic_reloadable_flag_quic_allow_multiple_acks_for_data2.

Merge internal change: 182923175
https://chromium-review.googlesource.com/c/892207/


Deprecate FLAGS_quic_reloadable_flag_quic_strict_ack_handling.

Merge internal change: 182826376
https://chromium-review.googlesource.com/c/892281/


deprecate FLAGS_quic_reloadable_flag_quic_enable_hq_deframer.

Merge internal change: 182818920
https://chromium-review.googlesource.com/c/892105/

Change-Id: I54f0b3b28ec7b126904cb5da1cce59bccd66e0ae
Reviewed-on: https://chromium-review.googlesource.com/892401
Commit-Queue: Yixin Wang <wangyix@chromium.org>
Reviewed-by: Ryan Hamilton <rch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533103}
  • Loading branch information
Yixin Wang authored and Commit Bot committed Jan 31, 2018
1 parent fb5abac commit 3827021
Show file tree
Hide file tree
Showing 40 changed files with 919 additions and 285 deletions.
3 changes: 3 additions & 0 deletions net/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -1234,6 +1234,8 @@ component("net") {
"quic/core/crypto/quic_tls_adapter.h",
"quic/core/crypto/scoped_evp_aead_ctx.cc",
"quic/core/crypto/scoped_evp_aead_ctx.h",
"quic/core/crypto/transport_parameters.cc",
"quic/core/crypto/transport_parameters.h",
"quic/core/frames/quic_ack_frame.cc",
"quic/core/frames/quic_ack_frame.h",
"quic/core/frames/quic_blocked_frame.cc",
Expand Down Expand Up @@ -5064,6 +5066,7 @@ test("net_unittests") {
"quic/core/crypto/quic_crypto_server_config_test.cc",
"quic/core/crypto/quic_random_test.cc",
"quic/core/crypto/quic_tls_adapter_test.cc",
"quic/core/crypto/transport_parameters_test.cc",
"quic/core/frames/quic_frames_test.cc",
"quic/core/packet_number_indexed_queue_test.cc",
"quic/core/quic_alarm_test.cc",
Expand Down
70 changes: 14 additions & 56 deletions net/quic/chromium/quic_network_transaction_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2058,14 +2058,8 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmed) {
quic_data.AddWrite(client_maker_.MakeDataPacket(
10, kHeadersStreamId, true, false, settings_offset, settings_data));

if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
11, true, QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
11, true, QuicTime::Delta::Infinite(), 0, 1, 1,
QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
11, true, QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));

quic_data.AddRead(ASYNC, ERR_IO_PENDING);
quic_data.AddRead(ASYNC, OK);
Expand Down Expand Up @@ -2162,14 +2156,8 @@ TEST_P(QuicNetworkTransactionTest, TooManyRtosAfterHandshakeConfirmed) {
quic_data.AddWrite(client_maker_.MakeDataPacket(
12, kHeadersStreamId, true, false, settings_offset, settings_data));
// RTO 5
if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
13, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
13, true, QuicTime::Delta::Infinite(), 0, 1, 1, QUIC_TOO_MANY_RTOS,
"5 consecutive retransmission timeouts"));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
13, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));

quic_data.AddRead(ASYNC, OK);
quic_data.AddSocketDataToFactory(&socket_factory_);
Expand Down Expand Up @@ -2269,14 +2257,8 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeDataPacket(13, kHeadersStreamId, true,
false, 0, request_data));
// RTO 5
if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
14, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
14, true, QuicTime::Delta::Infinite(), 0, 1, 1, QUIC_TOO_MANY_RTOS,
"5 consecutive retransmission timeouts"));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
14, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));

quic_data.AddRead(ASYNC, OK);
quic_data.AddSocketDataToFactory(&socket_factory_);
Expand Down Expand Up @@ -2434,14 +2416,8 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken) {
quic_data.AddWrite(client_maker_.MakeDataPacket(
10, kHeadersStreamId, true, false, settings_offset, settings_data));

if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
11, true, QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
11, true, QuicTime::Delta::Infinite(), 0, 1, 1,
QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
11, true, QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));

quic_data.AddRead(ASYNC, ERR_IO_PENDING);
quic_data.AddRead(ASYNC, OK);
Expand Down Expand Up @@ -2560,14 +2536,8 @@ TEST_P(QuicNetworkTransactionTest, TimeoutAfterHandshakeConfirmedThenBroken2) {
quic_data.AddWrite(client_maker_.MakeDataPacket(
10, kHeadersStreamId, true, false, settings_offset, settings_data));

if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
11, true, QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
11, true, QuicTime::Delta::Infinite(), 0, 1, 1,
QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
11, true, QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));

quic_data.AddRead(ASYNC, ERR_IO_PENDING);
quic_data.AddRead(ASYNC, OK);
Expand Down Expand Up @@ -2810,14 +2780,8 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeDataPacket(
12, kHeadersStreamId, true, false, settings_offset, settings_data));

if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
13, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
13, true, QuicTime::Delta::Infinite(), 0, 1, 1, QUIC_TOO_MANY_RTOS,
"5 consecutive retransmission timeouts"));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
13, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));

quic_data.AddRead(ASYNC, OK);
quic_data.AddSocketDataToFactory(&socket_factory_);
Expand Down Expand Up @@ -2943,14 +2907,8 @@ TEST_P(QuicNetworkTransactionTest,
quic_data.AddWrite(client_maker_.MakeDataPacket(13, kHeadersStreamId, true,
false, 0, request_data));
// RTO 5
if (FLAGS_quic_reloadable_flag_quic_strict_ack_handling) {
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
14, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));
} else {
quic_data.AddWrite(client_maker_.MakeAckAndConnectionClosePacket(
14, true, QuicTime::Delta::Infinite(), 0, 1, 1, QUIC_TOO_MANY_RTOS,
"5 consecutive retransmission timeouts"));
}
quic_data.AddWrite(client_maker_.MakeConnectionClosePacket(
14, true, QUIC_TOO_MANY_RTOS, "5 consecutive retransmission timeouts"));

quic_data.AddRead(ASYNC, OK);
quic_data.AddSocketDataToFactory(&socket_factory_);
Expand Down
Loading

0 comments on commit 3827021

Please sign in to comment.