From: Daniel Stenberg Date: Tue, 28 Apr 2015 11:10:04 +0000 (+0200) Subject: http: a stream hash for h2 multiplexing X-Git-Tag: curl-7_43_0~157 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7957d2eb927da90d817c7d1680b5486e00fec711;p=curl http: a stream hash for h2 multiplexing --- diff --git a/lib/http.h b/lib/http.h index fb924c609..1fa85f76b 100644 --- a/lib/http.h +++ b/lib/http.h @@ -191,6 +191,9 @@ struct http_conn { size_t upload_len; /* size of the buffer 'upload_mem' points to */ size_t upload_left; /* number of bytes left to upload */ int status_code; /* HTTP status code */ + + /* this is a hash of all individual streams (SessionHandle structs) */ + struct curl_hash streamsh; #else int unused; /* prevent a compiler warning */ #endif diff --git a/lib/http2.c b/lib/http2.c index 7a2f03207..9e9d86a9b 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -623,6 +623,11 @@ CURLcode Curl_http2_init(struct connectdata *conn) failf(conn->data, "Couldn't initialize nghttp2!"); return CURLE_OUT_OF_MEMORY; /* most likely at least */ } + + rc = Curl_hash_init(&conn->proto.httpc.streamsh, 7, Curl_hash_str, + Curl_str_key_compare, NULL); + if(rc) + return CURLE_OUT_OF_MEMORY; /* most likely at least */ } return CURLE_OK; }