Hello Everyone, I'm trying HTTP/2 stream dependency transfers using libcurl 7.64.0 + nghttp2 1.36 with server-libmicrohttpd + nghttp2 - just echo no delay.
I've used the example http2-download.c in libcurl Just added: curl_easy_setopt(easy[1], CURLOPT_STREAM_DEPENDS_E, easy[2]); curl_easy_setopt(easy[2], CURLOPT_STREAM_DEPENDS_E, easy[0]); before: curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); /* we start some action by calling perform right away */ curl_multi_perform(multi_handle, &still_running); I've also attempted these setting in setup function i.e before curl_multi_add_handle There 2 concerns here: 1. I'm not able to specify dependency on the stream/handle which is currently being setup. So basically, for 2 streams, I cannot set stream 1 depends on stream 3, in pcap it show stream 1 depends on stream 0. Incase of above example, it shows, 3 exclusive depends on 0 and 5 exclusive depends on 1. Expectation is 3 exclusive depends on 5 and 5 exclusive depends on 1, like: 1 5 3 2. For Above example, out of 10 transfers, 2 transfers showed order(in pcap): HTTP2 768 HEADERS[5]: 200 OK, HEADERS[1]: 200 OK, HEADERS[3]: 200 OK, DATA[5], DATA[1], DATA[3] 6 transfers showed order: HTTP2 765 HEADERS[1]: 200 OK, HEADERS[3]: 200 OK, HEADERS[5]: 200 OK, DATA[1], DATA[3], DATA[5] 2 showed: 1, 5, 3 Is this expected or is the way of setting the dependency incorrect? Thanks, ~Kunal
------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html