View Issue Details

IDProjectCategoryView StatusLast Update
0005436Talerexchangepublic2018-10-06 13:45
ReporterFlorian DoldAssigned ToChristian Grothoff 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status resolvedResolutionno change required 
Product VersionSVN HEAD 
Target Version0.6Fixed in Version0.6 
Summary0005436: implement curl connection pooling to enable keepalive
Descriptionlibcurl only does keepalive properly when we reuse curl_easy handles. Right now we create a new curl_easy handle every time. Instead there should be a pool.
TagsNo tags attached.


Christian Grothoff

2018-10-06 13:45

manager   ~0013262

I've checked, and our assumption for filing this report is wrong: curl DOES re-use TCP connections (with HTTP keep alive) even if the curl-easy handle is not pooled. I've created some wireshark snapshots against the exchange-lib testcases that clearly show that connection re-use does happen. It seems to require the client to be rather fast at issuing a subsequent request, so the timeout seems very small (maybe even none), but regardless this shows that easy-handle pooling isn't actually required to avoid using always fresh TCP connections. Closing.

Issue History

Date Modified Username Field Change
2018-09-21 20:10 Florian Dold New Issue
2018-09-21 20:10 Florian Dold Status new => assigned
2018-09-21 20:10 Florian Dold Assigned To => Christian Grothoff
2018-10-06 13:39 Christian Grothoff Severity minor => feature
2018-10-06 13:45 Christian Grothoff Note Added: 0013262
2018-10-06 13:45 Christian Grothoff Status assigned => resolved
2018-10-06 13:45 Christian Grothoff Resolution open => no change required
2018-10-06 13:45 Christian Grothoff Fixed in Version => 0.6
2018-10-06 13:45 Christian Grothoff Product Version => SVN HEAD
2018-10-06 13:45 Christian Grothoff Target Version => 0.6