Lines Matching refs:data

96  * @param data the transfer to check on
101 timediff_t Curl_timeleft(struct Curl_easy *data,
114 if(data->set.timeout <= 0 && !duringconnect)
122 if(data->set.timeout > 0) {
123 timeleft_ms = data->set.timeout -
124 Curl_timediff(*nowp, data->progress.t_startop);
132 timediff_t ctimeout_ms = (data->set.connecttimeout > 0) ?
133 data->set.connecttimeout : DEFAULT_CONNECT_TIMEOUT;
135 Curl_timediff(*nowp, data->progress.t_startsingle);
147 void Curl_persistconninfo(struct Curl_easy *data, struct connectdata *conn,
150 memcpy(data->info.conn_primary_ip, conn->primary_ip, MAX_IPADR_LEN);
152 memcpy(data->info.conn_local_ip, local_ip, MAX_IPADR_LEN);
154 data->info.conn_local_ip[0] = 0;
155 data->info.conn_scheme = conn->handler->scheme;
157 data->info.conn_protocol = (conn->handler->protocol) & CURLPROTO_MASK;
158 data->info.conn_primary_port = conn->port;
159 data->info.conn_remote_port = conn->remote_port;
160 data->info.conn_local_port = local_port;
247 static int conn_is_conn(struct Curl_easy *data,
251 (void)data;
265 curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,
268 DEBUGASSERT(data);
275 if((data->state.lastconnect_id != -1) && (data->multi_easy || data->multi)) {
278 find.id_tofind = data->state.lastconnect_id;
281 Curl_conncache_foreach(data,
282 data->share && (data->share->specifier
284 &data->share->conn_cache:
285 data->multi_easy?
286 &data->multi_easy->conn_cache:
287 &data->multi->conn_cache, &find, conn_is_conn);
290 data->state.lastconnect_id = -1;
416 struct Curl_easy *data)
419 Curl_conn_cf_discard_chain(&baller->cf, data);
424 struct Curl_easy *data)
427 baller_close(baller, data);
451 struct Curl_easy *data,
464 result = baller->cf_create(&baller->cf, data, cf->conn, baller->addr,
476 Curl_expire(data, baller->timeoutms, baller->timeout_id);
481 CURL_TRC_CF(data, cf, "%s failed", baller->name);
482 baller_close(baller, data);
485 Curl_conn_cf_discard_chain(&cf_prev, data);
496 struct Curl_easy *data,
508 baller_initiate(cf, data, baller);
523 struct Curl_easy *data,
533 baller_start(cf, data, baller, timeoutms);
546 struct Curl_easy *data,
555 baller->result = Curl_conn_cf_connect(baller->cf, data, 0, connected);
563 infof(data, "%s connect timeout after %" CURL_FORMAT_TIMEDIFF_T
581 struct Curl_easy *data,
612 baller->result = baller_connect(cf, data, baller, &now, connected);
613 CURL_TRC_CF(data, cf, "%s connect -> %d, connected=%d",
630 data->state.os_errno = baller->error;
633 baller_start_next(cf, data, baller, Curl_timeleft(data, &now, TRUE));
635 CURL_TRC_CF(data, cf, "%s done", baller->name);
639 CURL_TRC_CF(data, cf, "%s trying next", baller->name);
641 Curl_expire(data, 0, EXPIRE_RUN_NOW);
653 if((ongoing || not_started) && Curl_timeleft(data, &now, TRUE) < 0) {
654 failf(data, "Connection timeout after %" CURL_FORMAT_CURL_OFF_T " ms",
655 Curl_timediff(now, data->progress.t_startsingle));
672 baller_start(cf, data, baller, Curl_timeleft(data, &now, TRUE));
674 CURL_TRC_CF(data, cf, "%s done", baller->name);
677 CURL_TRC_CF(data, cf, "%s starting (timeout=%"
696 CURL_TRC_CF(data, cf, "all eyeballers failed");
702 CURL_TRC_CF(data, cf, "%s assess started=%d, result=%d",
722 failf(data, "Failed to connect to %s port %u after "
725 Curl_timediff(now, data->progress.t_startsingle),
729 if(WSAETIMEDOUT == data->state.os_errno)
732 if(ETIMEDOUT == data->state.os_errno)
744 struct Curl_easy *data,
751 timediff_t timeout_ms = Curl_timeleft(data, NULL, TRUE);
756 failf(data, "Connection time-out");
816 CURL_TRC_CF(data, cf, "created %s (timeout %"
824 data->set.happy_eyeballs_timeout,
828 CURL_TRC_CF(data, cf, "created %s (timeout %"
831 Curl_expire(data, data->set.happy_eyeballs_timeout,
838 static void cf_he_ctx_clear(struct Curl_cfilter *cf, struct Curl_easy *data)
844 DEBUGASSERT(data);
846 baller_free(ctx->baller[i], data);
849 baller_free(ctx->winner, data);
854 struct Curl_easy *data,
865 Curl_conn_cf_adjust_pollset(baller->cf, data, ps);
867 CURL_TRC_CF(data, cf, "adjust_pollset -> %d socks", ps->num);
872 struct Curl_easy *data,
889 DEBUGASSERT(CURL_SOCKET_BAD == Curl_conn_cf_get_socket(cf, data));
891 result = start_connect(cf, data, ctx->remotehost);
897 result = is_connected(cf, data, done);
908 cf_he_ctx_clear(cf, data);
909 Curl_conn_cf_cntrl(cf->next, data, TRUE,
913 Curl_pgrsTime(data, TIMER_APPCONNECT); /* we're connected already */
914 Curl_verboseconnect(data, cf->conn);
915 data->info.numconnects++; /* to track the # of connections made */
926 struct Curl_easy *data)
930 CURL_TRC_CF(data, cf, "close");
931 cf_he_ctx_clear(cf, data);
936 cf->next->cft->do_close(cf->next, data);
937 Curl_conn_cf_discard_chain(&cf->next, data);
942 const struct Curl_easy *data)
948 return cf->next->cft->has_data_pending(cf->next, data);
954 if(baller->cf->cft->has_data_pending(baller->cf, data))
961 struct Curl_easy *data,
974 !baller->cf->cft->query(baller->cf, data, query, NULL, &t)) {
983 struct Curl_easy *data,
999 !baller->cf->cft->query(baller->cf, data, query,
1006 CURL_TRC_CF(data, cf, "query connect reply: %dms", *pres1);
1011 *when = get_max_baller_time(cf, data, CF_QUERY_TIMER_CONNECT);
1016 *when = get_max_baller_time(cf, data, CF_QUERY_TIMER_APPCONNECT);
1025 cf->next->cft->query(cf->next, data, query, pres1, pres2) :
1029 static void cf_he_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
1033 CURL_TRC_CF(data, cf, "destroy");
1035 cf_he_ctx_clear(cf, data);
1064 * @param data easy handle used in creation
1071 struct Curl_easy *data,
1080 (void)data;
1135 struct Curl_easy *data,
1147 CURL_TRC_CF(data, cf_at, "unsupported transport type %d", transport);
1150 result = cf_happy_eyeballs_create(&cf, data, cf_at->conn,
1178 struct Curl_easy *data,
1192 result = Curl_conn_cf_connect(cf->next, data, blocking, done);
1198 result = cf_he_insert_after(cf, data, ctx->remotehost, ctx->transport);
1209 result = Curl_cf_socks_proxy_insert_after(cf, data);
1221 result = Curl_cf_ssl_proxy_insert_after(cf, data);
1229 result = Curl_cf_http_proxy_insert_after(cf, data);
1242 if(data->set.haproxyprotocol) {
1244 failf(data, "haproxy protocol not support with SSL "
1248 result = Curl_cf_haproxy_insert_after(cf, data);
1264 result = Curl_cf_ssl_insert_after(cf, data);
1281 struct Curl_easy *data)
1285 CURL_TRC_CF(data, cf, "close");
1290 cf->next->cft->do_close(cf->next, data);
1291 Curl_conn_cf_discard_chain(&cf->next, data);
1295 static void cf_setup_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
1299 (void)data;
1300 CURL_TRC_CF(data, cf, "destroy");
1324 struct Curl_easy *data,
1333 (void)data;
1355 static CURLcode cf_setup_add(struct Curl_easy *data,
1365 DEBUGASSERT(data);
1366 result = cf_setup_create(&cf, data, remotehost, transport, ssl_mode);
1369 Curl_conn_cf_add(data, conn, sockindex, cf);
1390 struct Curl_easy *data,
1398 DEBUGASSERT(data);
1399 result = cf_setup_create(&cf, data, remotehost, transport, ssl_mode);
1407 CURLcode Curl_conn_setup(struct Curl_easy *data,
1415 DEBUGASSERT(data);
1422 result = Curl_cf_https_setup(data, conn, sockindex, remotehost);
1430 result = cf_setup_add(data, conn, sockindex, remotehost,