Deprecate QuicConnection.peer_address_ by replacing it by direct_peer_address.

Note the changes in MaybeTestLiveness() and UpdatePacketContent() only affects clients. peer_address_ and direct_peer_address_ should always be the same for clients, so there is no behavior change expected.

PiperOrigin-RevId: 358033601
Change-Id: I72780a78fdc0f19a4e564b1c9a50dcf0dbd93112
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index f351299..5b35138 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -278,7 +278,6 @@
       server_connection_id_(server_connection_id),
       client_connection_id_(EmptyQuicConnectionId()),
       client_connection_id_is_set_(false),
-      peer_address_(initial_peer_address),
       direct_peer_address_(initial_peer_address),
       default_path_(initial_self_address, QuicSocketAddress()),
       active_effective_peer_migration_type_(NO_CHANGE),
@@ -718,6 +717,7 @@
 }
 
 bool QuicConnection::MaybeTestLiveness() {
+  QUICHE_DCHECK_EQ(perspective_, Perspective::IS_CLIENT);
   if (encryption_level_ != ENCRYPTION_FORWARD_SECURE) {
     return false;
   }
@@ -740,7 +740,7 @@
   if (!sent_packet_manager_.IsLessThanThreePTOs(timeout)) {
     return false;
   }
-  SendConnectivityProbingPacket(writer_, peer_address_);
+  SendConnectivityProbingPacket(writer_, peer_address());
   return true;
 }
 
@@ -4519,7 +4519,7 @@
 
 QuicByteCount QuicConnection::GetLimitedMaxPacketSize(
     QuicByteCount suggested_max_packet_size) {
-  if (!peer_address_.IsInitialized()) {
+  if (!peer_address().IsInitialized()) {
     QUIC_BUG << "Attempted to use a connection without a valid peer address";
     return suggested_max_packet_size;
   }
@@ -4906,13 +4906,13 @@
           << current_effective_peer_migration_type_;
     } else {
       is_current_packet_connectivity_probing_ =
-          (last_packet_source_address_ != peer_address_) ||
+          (last_packet_source_address_ != peer_address()) ||
           (last_packet_destination_address_ != default_path_.self_address);
       QUIC_DLOG_IF(INFO, is_current_packet_connectivity_probing_)
           << ENDPOINT
           << "Detected connectivity probing packet. "
              "last_packet_source_address_:"
-          << last_packet_source_address_ << ", peer_address_:" << peer_address_
+          << last_packet_source_address_ << ", peer_address_:" << peer_address()
           << ", last_packet_destination_address_:"
           << last_packet_destination_address_
           << ", self_address_:" << default_path_.self_address;
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 890b4af..47a295a 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -1664,7 +1664,6 @@
   bool client_connection_id_is_set_;
   // Address on the last successfully processed packet received from the
   // direct peer.
-  QuicSocketAddress peer_address_;
 
   // Other than initialization, do not modify it directly, use
   // UpdatePeerAddress() instead.
diff --git a/quic/test_tools/quic_connection_peer.cc b/quic/test_tools/quic_connection_peer.cc
index a6b119c..de0554f 100644
--- a/quic/test_tools/quic_connection_peer.cc
+++ b/quic/test_tools/quic_connection_peer.cc
@@ -71,7 +71,7 @@
 // static
 void QuicConnectionPeer::SetPeerAddress(QuicConnection* connection,
                                         const QuicSocketAddress& peer_address) {
-  connection->peer_address_ = peer_address;
+  connection->UpdatePeerAddress(peer_address);
 }
 
 // static