struct Curl_easy) for the transfer being worked on. No other name should be used for this and nothing else should use this name. The easy handle is the main object identifying a transfer. A transfer typically uses a connection at some point and typically only one at a time. There's a
data->connpointer that identifies the connection that is currently used by this transfer. A single connection can be used over time and even concorrently by several transfers (and thus easy handles) when multiplexed connections are used.
connis the variable name we use all over the internals to refer to the current connection the code works on (
resultis the usual name we use for a
CURLcodevariable to hold the return values from functions and if that return value is different than zero, it is an error and the function should clean up and return (usually passing on the same error code to its parent function).
curl_easy_perform()which performs a single transfer synchronously, is itself just a wrapper function that internally will setup and use the multi interface itself.
lib/multihandle.h). Every transfer done with libcurl has an associated easy handle and every easy handle will exercise that state machine.