Fix -Wsign-compare warnings in third_party/http2.

PiperOrigin-RevId: 387141720
diff --git a/http2/adapter/nghttp2_callbacks.cc b/http2/adapter/nghttp2_callbacks.cc
index c2b64f4..43fb886 100644
--- a/http2/adapter/nghttp2_callbacks.cc
+++ b/http2/adapter/nghttp2_callbacks.cc
@@ -89,7 +89,7 @@
         visitor->OnSettingsAck();
       } else {
         visitor->OnSettingsStart();
-        for (int i = 0; i < frame->settings.niv; ++i) {
+        for (size_t i = 0; i < frame->settings.niv; ++i) {
           nghttp2_settings_entry entry = frame->settings.iv[i];
           // The nghttp2_settings_entry uses int32_t for the ID; we must cast.
           visitor->OnSetting(Http2Setting{
diff --git a/http2/adapter/nghttp2_test_utils.cc b/http2/adapter/nghttp2_test_utils.cc
index 6968444..d9a04f2 100644
--- a/http2/adapter/nghttp2_test_utils.cc
+++ b/http2/adapter/nghttp2_test_utils.cc
@@ -246,7 +246,7 @@
     }
     std::vector<Http2Setting> settings;
     settings.reserve(frame->settings.niv);
-    for (int i = 0; i < frame->settings.niv; ++i) {
+    for (size_t i = 0; i < frame->settings.niv; ++i) {
       const auto& p = frame->settings.iv[i];
       settings.push_back({static_cast<uint16_t>(p.settings_id), p.value});
     }
diff --git a/http2/adapter/nghttp2_test_utils.h b/http2/adapter/nghttp2_test_utils.h
index 3ae63d3..9b772ff 100644
--- a/http2/adapter/nghttp2_test_utils.h
+++ b/http2/adapter/nghttp2_test_utils.h
@@ -41,7 +41,7 @@
             return NGHTTP2_ERR_DEFERRED;
           }
           const ssize_t ret = s->SelectPayloadLength(length);
-          if (ret < length) {
+          if (ret < static_cast<ssize_t>(length)) {
             *data_flags |= NGHTTP2_DATA_FLAG_EOF;
           }
           return ret;
diff --git a/http2/adapter/oghttp2_adapter_test.cc b/http2/adapter/oghttp2_adapter_test.cc
index 4a4307b..87576bb 100644
--- a/http2/adapter/oghttp2_adapter_test.cc
+++ b/http2/adapter/oghttp2_adapter_test.cc
@@ -121,7 +121,7 @@
   EXPECT_CALL(visitor, OnEndStream(1));
   EXPECT_CALL(visitor, OnCloseStream(1, Http2ErrorCode::NO_ERROR));
 
-  const ssize_t stream_result = adapter->ProcessBytes(stream_frames);
+  const size_t stream_result = adapter->ProcessBytes(stream_frames);
   EXPECT_EQ(stream_frames.size(), stream_result);
 
   EXPECT_CALL(visitor, OnBeforeFrameSent(SETTINGS, 0, _, 0x1));
@@ -203,7 +203,7 @@
   EXPECT_CALL(visitor, OnEndStream(1));
   EXPECT_CALL(visitor, OnCloseStream(1, Http2ErrorCode::NO_ERROR));
 
-  const ssize_t stream_result = adapter->ProcessBytes(stream_frames);
+  const size_t stream_result = adapter->ProcessBytes(stream_frames);
   EXPECT_EQ(stream_frames.size(), stream_result);
 
   EXPECT_CALL(visitor, OnBeforeFrameSent(SETTINGS, 0, _, 0x1));
@@ -279,7 +279,7 @@
   EXPECT_CALL(visitor, OnBeginDataForStream(1, _));
   EXPECT_CALL(visitor, OnDataForStream(1, "This is the response body."));
 
-  const ssize_t stream_result = adapter->ProcessBytes(stream_frames);
+  const size_t stream_result = adapter->ProcessBytes(stream_frames);
   EXPECT_EQ(stream_frames.size(), stream_result);
 
   EXPECT_CALL(visitor, OnBeforeFrameSent(SETTINGS, 0, 0, 0x1));
@@ -361,7 +361,7 @@
   EXPECT_CALL(visitor, OnBeginDataForStream(1, _));
   EXPECT_CALL(visitor, OnDataForStream(1, "This is the response body."));
 
-  const ssize_t stream_result = adapter->ProcessBytes(stream_frames);
+  const size_t stream_result = adapter->ProcessBytes(stream_frames);
   EXPECT_EQ(stream_frames.size(), stream_result);
 
   EXPECT_CALL(visitor, OnBeforeFrameSent(SETTINGS, 0, 0, 0x1));
@@ -441,7 +441,7 @@
   // Bad status trailer will cause a PROTOCOL_ERROR. The header is never
   // delivered in an OnHeaderForStream callback.
 
-  const ssize_t stream_result = adapter->ProcessBytes(stream_frames);
+  const size_t stream_result = adapter->ProcessBytes(stream_frames);
   EXPECT_EQ(stream_frames.size(), stream_result);
 
   EXPECT_CALL(visitor, OnBeforeFrameSent(SETTINGS, 0, 0, 0x1));
@@ -571,7 +571,7 @@
   EXPECT_CALL(visitor, OnEndHeadersForStream(1));
   EXPECT_CALL(visitor, OnEndStream(1));
 
-  const ssize_t result = adapter->ProcessBytes(frames);
+  const size_t result = adapter->ProcessBytes(frames);
   EXPECT_EQ(frames.size(), result);
 
   const absl::string_view kBody = "This is an example response body.";
@@ -660,7 +660,7 @@
   EXPECT_CALL(visitor, OnFrameHeader(0, 4, WINDOW_UPDATE, 0));
   EXPECT_CALL(visitor, OnWindowUpdate(0, 2000));
 
-  const ssize_t result = adapter->ProcessBytes(frames);
+  const size_t result = adapter->ProcessBytes(frames);
   EXPECT_EQ(frames.size(), result);
 
   EXPECT_TRUE(adapter->session().want_write());
diff --git a/http2/adapter/oghttp2_session.cc b/http2/adapter/oghttp2_session.cc
index eee664f..a503c1e 100644
--- a/http2/adapter/oghttp2_session.cc
+++ b/http2/adapter/oghttp2_session.cc
@@ -323,7 +323,7 @@
       }
 
       frames_.pop_front();
-      if (result < frame.size()) {
+      if (static_cast<size_t>(result) < frame.size()) {
         // The frame was partially written, so the rest must be buffered.
         serialized_prefix_.assign(frame.data() + result, frame.size() - result);
         return false;
diff --git a/http2/adapter/oghttp2_session_test.cc b/http2/adapter/oghttp2_session_test.cc
index 137d204..185dbaa 100644
--- a/http2/adapter/oghttp2_session_test.cc
+++ b/http2/adapter/oghttp2_session_test.cc
@@ -60,7 +60,7 @@
   EXPECT_CALL(visitor, OnFrameHeader(0, 4, WINDOW_UPDATE, 0));
   EXPECT_CALL(visitor, OnWindowUpdate(0, 1000));
 
-  const ssize_t initial_result = session.ProcessBytes(initial_frames);
+  const size_t initial_result = session.ProcessBytes(initial_frames);
   EXPECT_EQ(initial_frames.size(), initial_result);
 
   EXPECT_EQ(session.GetRemoteWindowSize(),
@@ -115,7 +115,7 @@
   EXPECT_CALL(visitor, OnCloseStream(3, Http2ErrorCode::INTERNAL_ERROR));
   EXPECT_CALL(visitor, OnFrameHeader(0, 19, GOAWAY, 0));
   EXPECT_CALL(visitor, OnGoAway(5, Http2ErrorCode::ENHANCE_YOUR_CALM, ""));
-  const ssize_t stream_result = session.ProcessBytes(stream_frames);
+  const size_t stream_result = session.ProcessBytes(stream_frames);
   EXPECT_EQ(stream_frames.size(), stream_result);
   EXPECT_EQ(3, session.GetHighestReceivedStreamId());
 
@@ -230,7 +230,7 @@
   EXPECT_CALL(visitor, OnSettingsStart());
   EXPECT_CALL(visitor, OnSettingsEnd());
 
-  const ssize_t initial_result = session.ProcessBytes(initial_frames);
+  const size_t initial_result = session.ProcessBytes(initial_frames);
   EXPECT_EQ(initial_frames.size(), initial_result);
 
   // Session will want to write a SETTINGS ack.
@@ -514,7 +514,7 @@
   EXPECT_CALL(visitor, OnFrameHeader(0, 8, PING, 0));
   EXPECT_CALL(visitor, OnPing(47, false));
 
-  const ssize_t result = session.ProcessBytes(frames);
+  const size_t result = session.ProcessBytes(frames);
   EXPECT_EQ(frames.size(), result);
 
   EXPECT_EQ(kSentinel1, session.GetStreamUserData(1));
@@ -633,7 +633,7 @@
       }));
   EXPECT_CALL(visitor, OnEndStream(1));
 
-  const ssize_t result = session.ProcessBytes(frames);
+  const size_t result = session.ProcessBytes(frames);
   EXPECT_EQ(frames.size(), result);
 
   EXPECT_EQ(1, session.GetHighestReceivedStreamId());
@@ -772,7 +772,7 @@
   EXPECT_CALL(visitor, OnEndHeadersForStream(1));
   EXPECT_CALL(visitor, OnEndStream(1));
 
-  const ssize_t result = session.ProcessBytes(frames);
+  const size_t result = session.ProcessBytes(frames);
   EXPECT_EQ(frames.size(), result);
 
   // Server will want to send initial SETTINGS, and a SETTINGS ack.
@@ -864,7 +864,7 @@
   EXPECT_CALL(visitor, OnEndHeadersForStream(1));
   EXPECT_CALL(visitor, OnEndStream(1));
 
-  const ssize_t result = session.ProcessBytes(frames);
+  const size_t result = session.ProcessBytes(frames);
   EXPECT_EQ(frames.size(), result);
 
   // Server will want to send initial SETTINGS, and a SETTINGS ack.
diff --git a/http2/adapter/test_utils.cc b/http2/adapter/test_utils.cc
index 98b2954..8d5e667 100644
--- a/http2/adapter/test_utils.cc
+++ b/http2/adapter/test_utils.cc
@@ -64,7 +64,7 @@
   } else if (result == 0) {
     // Write blocked.
     return false;
-  } else if (result < concatenated.size()) {
+  } else if (static_cast<const size_t>(result) < concatenated.size()) {
     // Probably need to handle this better within this test class.
     QUICHE_LOG(DFATAL)
         << "DATA frame not fully flushed. Connection will be corrupt!";
diff --git a/http2/adapter/window_manager_test.cc b/http2/adapter/window_manager_test.cc
index 5e06453..e706156 100644
--- a/http2/adapter/window_manager_test.cc
+++ b/http2/adapter/window_manager_test.cc
@@ -90,21 +90,21 @@
   EXPECT_EQ(wm_.CurrentWindowSize(), wm_.WindowSizeLimit());
   // Don't buffer more than the total window!
   wm_.MarkDataBuffered(wm_.WindowSizeLimit() + 1);
-  EXPECT_EQ(wm_.CurrentWindowSize(), 0);
+  EXPECT_EQ(wm_.CurrentWindowSize(), 0u);
 }
 
 // Window manager should GFE_BUG and avoid buffered underflow.
 TEST_F(WindowManagerTest, AvoidBufferedUnderflow) {
-  EXPECT_EQ(peer_.buffered(), 0);
+  EXPECT_EQ(peer_.buffered(), 0u);
   // Don't flush more than has been buffered!
   EXPECT_QUICHE_BUG(wm_.MarkDataFlushed(1), "buffered underflow");
-  EXPECT_EQ(peer_.buffered(), 0);
+  EXPECT_EQ(peer_.buffered(), 0u);
 
   wm_.MarkDataBuffered(42);
-  EXPECT_EQ(peer_.buffered(), 42);
+  EXPECT_EQ(peer_.buffered(), 42u);
   // Don't flush more than has been buffered!
   EXPECT_QUICHE_BUG(wm_.MarkDataFlushed(43), "buffered underflow");
-  EXPECT_EQ(peer_.buffered(), 0);
+  EXPECT_EQ(peer_.buffered(), 0u);
 }
 
 // This test verifies that WindowManager notifies its listener when window is