diff --git a/quic/quartc/quartc_session.cc b/quic/quartc/quartc_session.cc
index e5b6952..80031dd 100644
--- a/quic/quartc/quartc_session.cc
+++ b/quic/quartc/quartc_session.cc
@@ -47,10 +47,10 @@
     return false;
   }
 
-  if (message.size() > GetLargestMessagePayload()) {
+  if (message.size() > GetCurrentLargestMessagePayload()) {
     QUIC_LOG(ERROR) << "Message is too big, message_size=" << message.size()
-                    << ", GetLargestMessagePayload="
-                    << GetLargestMessagePayload();
+                    << ", GetCurrentLargestMessagePayload="
+                    << GetCurrentLargestMessagePayload();
     return false;
   }
 
diff --git a/quic/quartc/quartc_session.h b/quic/quartc/quartc_session.h
index 35df8b6..29e6306 100644
--- a/quic/quartc/quartc_session.h
+++ b/quic/quartc/quartc_session.h
@@ -51,8 +51,8 @@
   bool SendOrQueueMessage(std::string message);
 
   // Returns largest message payload acceptable in SendQuartcMessage.
-  QuicPacketLength GetLargestMessagePayload() const {
-    return connection()->GetLargestMessagePayload();
+  QuicPacketLength GetCurrentLargestMessagePayload() const {
+    return connection()->GetCurrentLargestMessagePayload();
   }
 
   // Return true if transport support message frame.
diff --git a/quic/quartc/quartc_session_test.cc b/quic/quartc/quartc_session_test.cc
index fc80c8b..31abd57 100644
--- a/quic/quartc/quartc_session_test.cc
+++ b/quic/quartc/quartc_session_test.cc
@@ -230,12 +230,12 @@
 
     // Send message of maximum allowed length.
     std::string message_max_long =
-        std::string(server_peer_->GetLargestMessagePayload(), 'A');
+        std::string(server_peer_->GetCurrentLargestMessagePayload(), 'A');
     ASSERT_TRUE(server_peer_->SendOrQueueMessage(message_max_long));
 
     // Send long message which should fail.
     std::string message_too_long =
-        std::string(server_peer_->GetLargestMessagePayload() + 1, 'B');
+        std::string(server_peer_->GetCurrentLargestMessagePayload() + 1, 'B');
     ASSERT_FALSE(server_peer_->SendOrQueueMessage(message_too_long));
 
     // Wait for peer 2 to receive message.
