Commit 3f57880a authored by Jay Satiro's avatar Jay Satiro
Browse files

http2: Use size_t type for data drain count

parent 723f9011
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ struct http_conn {
     them for both cases. */
  int32_t pause_stream_id; /* stream ID which paused
                              nghttp2_session_mem_recv */
  int drain_total; /* sum of all stream's UrlState.drain */
  size_t drain_total; /* sum of all stream's UrlState.drain */

  /* this is a hash of all individual streams (SessionHandle structs) */
  struct h2settings settings;
+2 −0
Original line number Diff line number Diff line
@@ -1166,6 +1166,7 @@ static ssize_t http2_handle_stream_close(struct connectdata *conn,
    httpc->pause_stream_id = 0;
  }

  DEBUGASSERT(httpc->drain_total >= data->state.drain);
  httpc->drain_total -= data->state.drain;
  data->state.drain = 0;

@@ -1471,6 +1472,7 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
                   stream->stream_id));
    }
    else if(!stream->closed) {
      DEBUGASSERT(httpc->drain_total >= data->state.drain);
      httpc->drain_total -= data->state.drain;
      data->state.drain = 0; /* this stream is hereby drained */
    }
+3 −3
Original line number Diff line number Diff line
@@ -1314,8 +1314,8 @@ struct UrlState {
  curl_off_t infilesize; /* size of file to upload, -1 means unknown.
                            Copied from set.filesize at start of operation */

  int drain; /* Increased when this stream has data to read, even if its
                socket not necessarily is readable. Decreased when
  size_t drain; /* Increased when this stream has data to read, even if its
                   socket is not necessarily is readable. Decreased when
                   checked. */
  bool done; /* set to FALSE when Curl_do() is called and set to TRUE when
                Curl_done() is called, to prevent Curl_done() to get invoked