| Index: net/quic/quic_connection.cc
|
| diff --git a/net/quic/quic_connection.cc b/net/quic/quic_connection.cc
|
| index 4a510fb7adb8dfa03135812584baeae7338ae0c0..45b64088481be4cb2322d0aa78dc96d5ba6f34a0 100644
|
| --- a/net/quic/quic_connection.cc
|
| +++ b/net/quic/quic_connection.cc
|
| @@ -197,19 +197,20 @@ QuicConnection::QueuedPacket::QueuedPacket(
|
| original_sequence_number(original_sequence_number) {
|
| }
|
|
|
| -#define ENDPOINT (is_server_ ? "Server: " : " Client: ")
|
| +#define ENDPOINT \
|
| + (perspective_ == Perspective::IS_SERVER ? "Server: " : "Client: ")
|
|
|
| QuicConnection::QuicConnection(QuicConnectionId connection_id,
|
| IPEndPoint address,
|
| QuicConnectionHelperInterface* helper,
|
| const PacketWriterFactory& writer_factory,
|
| bool owns_writer,
|
| - bool is_server,
|
| + Perspective perspective,
|
| bool is_secure,
|
| const QuicVersionVector& supported_versions)
|
| : framer_(supported_versions,
|
| helper->GetClock()->ApproximateNow(),
|
| - is_server),
|
| + perspective),
|
| helper_(helper),
|
| writer_(writer_factory.Create(this)),
|
| owns_writer_(owns_writer),
|
| @@ -250,14 +251,14 @@ QuicConnection::QuicConnection(QuicConnectionId connection_id,
|
| time_of_last_sent_new_packet_(clock_->ApproximateNow()),
|
| sequence_number_of_last_sent_packet_(0),
|
| sent_packet_manager_(
|
| - is_server,
|
| + perspective,
|
| clock_,
|
| &stats_,
|
| FLAGS_quic_use_bbr_congestion_control ? kBBR : kCubic,
|
| FLAGS_quic_use_time_loss_detection ? kTime : kNack,
|
| is_secure),
|
| version_negotiation_state_(START_NEGOTIATION),
|
| - is_server_(is_server),
|
| + perspective_(perspective),
|
| connected_(true),
|
| peer_ip_changed_(false),
|
| peer_port_changed_(false),
|
| @@ -271,7 +272,8 @@ QuicConnection::QuicConnection(QuicConnectionId connection_id,
|
| framer_.set_received_entropy_calculator(&received_packet_manager_);
|
| stats_.connection_creation_time = clock_->ApproximateNow();
|
| sent_packet_manager_.set_network_change_visitor(this);
|
| - if (FLAGS_quic_small_default_packet_size && is_server_) {
|
| + if (FLAGS_quic_small_default_packet_size &&
|
| + perspective_ == Perspective::IS_SERVER) {
|
| set_max_packet_length(kDefaultServerMaxPacketSize);
|
| }
|
| }
|
| @@ -386,7 +388,7 @@ bool QuicConnection::OnProtocolVersionMismatch(QuicVersion received_version) {
|
| DVLOG(1) << ENDPOINT << "Received packet with mismatched version "
|
| << received_version;
|
| // TODO(satyamshekhar): Implement no server state in this mode.
|
| - if (!is_server_) {
|
| + if (perspective_ == Perspective::IS_CLIENT) {
|
| LOG(DFATAL) << ENDPOINT << "Framer called OnProtocolVersionMismatch. "
|
| << "Closing connection.";
|
| CloseConnection(QUIC_INTERNAL_ERROR, false);
|
| @@ -442,7 +444,7 @@ bool QuicConnection::OnProtocolVersionMismatch(QuicVersion received_version) {
|
| // Handles version negotiation for client connection.
|
| void QuicConnection::OnVersionNegotiationPacket(
|
| const QuicVersionNegotiationPacket& packet) {
|
| - if (is_server_) {
|
| + if (perspective_ == Perspective::IS_SERVER) {
|
| LOG(DFATAL) << ENDPOINT << "Framer parsed VersionNegotiationPacket."
|
| << " Closing connection.";
|
| CloseConnection(QUIC_INTERNAL_ERROR, false);
|
| @@ -548,7 +550,7 @@ bool QuicConnection::OnPacketHeader(const QuicPacketHeader& header) {
|
| }
|
|
|
| if (version_negotiation_state_ != NEGOTIATED_VERSION) {
|
| - if (is_server_) {
|
| + if (perspective_ == Perspective::IS_SERVER) {
|
| if (!header.public_header.version_flag) {
|
| DLOG(WARNING) << ENDPOINT << "Packet " << header.packet_sequence_number
|
| << " without version flag before version negotiated.";
|
| @@ -1269,7 +1271,8 @@ bool QuicConnection::ProcessValidatedPacket() {
|
| DVLOG(1) << ENDPOINT << "time of last received packet: "
|
| << time_of_last_received_packet_.ToDebuggingValue();
|
|
|
| - if (is_server_ && encryption_level_ == ENCRYPTION_NONE &&
|
| + if (perspective_ == Perspective::IS_SERVER &&
|
| + encryption_level_ == ENCRYPTION_NONE &&
|
| last_size_ > packet_generator_.max_packet_length()) {
|
| set_max_packet_length(last_size_);
|
| }
|
| @@ -1596,7 +1599,7 @@ void QuicConnection::OnHandshakeComplete() {
|
| sent_packet_manager_.SetHandshakeConfirmed();
|
| // The client should immediately ack the SHLO to confirm the handshake is
|
| // complete with the server.
|
| - if (!is_server_ && !ack_queued_) {
|
| + if (perspective_ == Perspective::IS_CLIENT && !ack_queued_) {
|
| ack_alarm_->Cancel();
|
| ack_alarm_->Set(clock_->ApproximateNow());
|
| }
|
| @@ -1942,7 +1945,7 @@ void QuicConnection::SetNetworkTimeouts(QuicTime::Delta overall_timeout,
|
| << " overall_timeout:" << overall_timeout.ToMilliseconds();
|
| // Adjust the idle timeout on client and server to prevent clients from
|
| // sending requests to servers which have already closed the connection.
|
| - if (is_server_) {
|
| + if (perspective_ == Perspective::IS_SERVER) {
|
| idle_timeout = idle_timeout.Add(QuicTime::Delta::FromSeconds(3));
|
| } else if (idle_timeout > QuicTime::Delta::FromSeconds(1)) {
|
| idle_timeout = idle_timeout.Subtract(QuicTime::Delta::FromSeconds(1));
|
| @@ -2007,7 +2010,7 @@ void QuicConnection::SetTimeoutAlarm() {
|
| }
|
|
|
| void QuicConnection::SetPingAlarm() {
|
| - if (is_server_) {
|
| + if (perspective_ == Perspective::IS_SERVER) {
|
| // Only clients send pings.
|
| return;
|
| }
|
|
|