Buffer up QUIC data within a level internally.

Avoid forcing the QUIC implementation to buffer this when we already have code
to do it. This also avoids QUIC implementations relying on this hook being
called for each individual message.

Change-Id: If2d70f045a25da1aa2b10fdae262cae331da06b1
Reviewed-on: https://boringssl-review.googlesource.com/c/32785
Commit-Queue: Steven Valdez <svaldez@google.com>
Reviewed-by: Steven Valdez <svaldez@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/ssl_test.cc b/ssl/ssl_test.cc
index c237809..4792560 100644
--- a/ssl/ssl_test.cc
+++ b/ssl/ssl_test.cc
@@ -4650,8 +4650,9 @@
                                                        write_key, key_len);
   }
 
-  static int AddMessageCallback(SSL *ssl, enum ssl_encryption_level_t level,
-                                const uint8_t *data, size_t len) {
+  static int AddHandshakeDataCallback(SSL *ssl,
+                                      enum ssl_encryption_level_t level,
+                                      const uint8_t *data, size_t len) {
     EXPECT_EQ(level, SSL_quic_write_level(ssl));
     return TransportFromSSL(ssl)->WriteHandshakeData(level,
                                                      MakeConstSpan(data, len));
@@ -4681,7 +4682,7 @@
 TEST_F(QUICMethodTest, Basic) {
   const SSL_QUIC_METHOD quic_method = {
       SetEncryptionSecretsCallback,
-      AddMessageCallback,
+      AddHandshakeDataCallback,
       FlushFlightCallback,
       SendAlertCallback,
   };
@@ -4732,7 +4733,7 @@
 TEST_F(QUICMethodTest, Async) {
   const SSL_QUIC_METHOD quic_method = {
       SetEncryptionSecretsCallback,
-      AddMessageCallback,
+      AddHandshakeDataCallback,
       FlushFlightCallback,
       SendAlertCallback,
   };
@@ -4793,8 +4794,8 @@
   };
   static UnownedSSLExData<BufferedFlight> buffered_flights;
 
-  auto add_message = [](SSL *ssl, enum ssl_encryption_level_t level,
-                        const uint8_t *data, size_t len) -> int {
+  auto add_handshake_data = [](SSL *ssl, enum ssl_encryption_level_t level,
+                               const uint8_t *data, size_t len) -> int {
     BufferedFlight *flight = buffered_flights.Get(ssl);
     flight->data[level].insert(flight->data[level].end(), data, data + len);
     return 1;
@@ -4817,7 +4818,7 @@
 
   const SSL_QUIC_METHOD quic_method = {
     SetEncryptionSecretsCallback,
-    add_message,
+    add_handshake_data,
     flush_flight,
     SendAlertCallback,
   };
@@ -4862,8 +4863,8 @@
 // EncryptedExtensions in a single chunk, BoringSSL notices and rejects this on
 // key change.
 TEST_F(QUICMethodTest, ExcessProvidedData) {
-  auto add_message = [](SSL *ssl, enum ssl_encryption_level_t level,
-                        const uint8_t *data, size_t len) -> int {
+  auto add_handshake_data = [](SSL *ssl, enum ssl_encryption_level_t level,
+                               const uint8_t *data, size_t len) -> int {
     // Switch everything to the initial level.
     return TransportFromSSL(ssl)->WriteHandshakeData(ssl_encryption_initial,
                                                      MakeConstSpan(data, len));
@@ -4871,7 +4872,7 @@
 
   const SSL_QUIC_METHOD quic_method = {
       SetEncryptionSecretsCallback,
-      add_message,
+      add_handshake_data,
       FlushFlightCallback,
       SendAlertCallback,
   };
@@ -4891,8 +4892,8 @@
   // encryption.
   ASSERT_EQ(ssl_encryption_initial, SSL_quic_read_level(client_.get()));
 
-  // |add_message| incorrectly wrote everything at the initial level, so this
-  // queues up ServerHello through Finished in one chunk.
+  // |add_handshake_data| incorrectly wrote everything at the initial level, so
+  // this queues up ServerHello through Finished in one chunk.
   ASSERT_TRUE(ProvideHandshakeData(client_.get()));
 
   // The client reads ServerHello successfully, but then rejects the buffered
@@ -4917,7 +4918,7 @@
 TEST_F(QUICMethodTest, ProvideWrongLevel) {
   const SSL_QUIC_METHOD quic_method = {
       SetEncryptionSecretsCallback,
-      AddMessageCallback,
+      AddHandshakeDataCallback,
       FlushFlightCallback,
       SendAlertCallback,
   };
@@ -4962,7 +4963,7 @@
 TEST_F(QUICMethodTest, TooMuchData) {
   const SSL_QUIC_METHOD quic_method = {
       SetEncryptionSecretsCallback,
-      AddMessageCallback,
+      AddHandshakeDataCallback,
       FlushFlightCallback,
       SendAlertCallback,
   };