2018-10-20 04:42 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005436Talerexchangepublic2018-10-06 13:45
ReporterFlorian Dold 
Assigned ToChristian Grothoff 
PrioritynormalSeverityfeatureReproducibilityhave not tried
StatusresolvedResolutionno 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.
Attached Files

-Relationships Relation Graph ] Dependency Graph ]
+Relationships

-Notes

~0013262

Christian Grothoff (manager)

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.
+Notes

-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
+Issue History