- May 18, 2015
-
-
Daniel Stenberg authored
to allow code to act differently on the situation. Also added some more info message for the connection re-use function to make it clearer when connections are not re-used.
-
Daniel Stenberg authored
It makes us use less memory when not doing HTTP/2 and subsequently also makes us not have to cleanup HTTP/2 related data when not using HTTP/2!
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
-
Tatsuhiro Tsujikawa authored
Previously when we do pause because of out of buffer, we just throw away unread data in connection buffer. This just broke protocol framing, and I saw occasional FRAME_SIZE_ERROR. This commit fix this issue by remembering how much data read, and in the next iteration, we process remaining data.
-
Tatsuhiro Tsujikawa authored
This commit fixes the bug that streams get stuck if stream gets some DATA, and stream->closed becomes true at the same time. Previously, in this condition, after we processed DATA, we are going to try to read data from underlying transport, but there is no data, and gets EAGAIN. There was no code path to evaludate stream->closed.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
... as it was only used from there.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
With the "drained" functionality we can get here slightly asynchronously so the stream have have been closed but there is pending data left to read.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
... as it does for pipelining when we're multiplexing, as we need the different buffers to store incoming data correctly for all streams.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
No need to wait for our "spot" like for pipelining
-
Daniel Stenberg authored
... which is necessary since the socket won't be readable but there is data waiting in the buffer.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
... from the connection struct. The stream one being the 'struct HTTP' which is kept in the SessionHandle struct (easy handle). lookup streams for incoming frames in the stream hash, hashing is based on the stream id and we get the SessionHandle for the incoming stream that way.
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
-
Daniel Stenberg authored
Once we know we are HTTP/2 enabled we know the server can multiplex.
-
Daniel Stenberg authored
... and do not blacklist any.
-
- May 15, 2015
-
-
Daniel Stenberg authored
All the details mentioned here are better documented in man pages
-
- May 14, 2015
-
-
Dan Fandrich authored
This file was removed in commit fd137786
-
Daniel Stenberg authored
-
- May 12, 2015
-
-
Daniel Stenberg authored
-
Daniel Stenberg authored
Previously we counted all connections to a specific host name and that would be used for the CURLMOPT_MAX_HOST_CONNECTIONS check for example, while servers on different port numbers are normally considered different "origins" on the web and should thus be considered different hosts.
-
Daniel Stenberg authored
All the existing Curl_bundle* functions were only ever used from within the conncache.c file, so I moved them over and made them static (and removed the Curl_ prefix).
-
Daniel Stenberg authored
This avoids unnecessary dynamic allocs and as this also removed the last users of *hash_alloc() and *hash_destroy(), those two functions are now removed.
-
Daniel Stenberg authored
avoids extra dynamic allocation
-
Daniel Stenberg authored
... by using plain structs instead of pointers for the connection cache, we can avoid several dynamic allocations that weren't necessary.
-
- May 08, 2015
-
-
Daniel Stenberg authored
-
Patrick Monnerat authored
-
Patrick Monnerat authored
This ensures an alternate address is not used. Does not apply to proxy tunnel.
-