Lines Matching refs:data
165 struct Curl_easy *data)
167 struct stream_ctx *stream = H3_STREAM_CTX(data);
176 H3_STREAM_LCTX(data) = stream;
181 CURL_TRC_CF(data, cf, "data setup");
185 static void h3_data_done(struct Curl_cfilter *cf, struct Curl_easy *data)
187 struct stream_ctx *stream = H3_STREAM_CTX(data);
191 CURL_TRC_CF(data, cf, "easy handle is done");
194 H3_STREAM_LCTX(data) = NULL;
198 static void drain_stream_from_other_thread(struct Curl_easy *data,
207 if(data->state.select_bits != bits) {
208 data->state.select_bits = bits;
214 struct Curl_easy *data)
216 struct stream_ctx *stream = H3_STREAM_CTX(data);
223 if(data->state.select_bits != bits) {
224 data->state.select_bits = bits;
225 Curl_expire(data, 0, EXPIRE_RUN_NOW);
240 struct Curl_easy *data = CF_DATA_CURRENT(cf);
243 CURL_TRC_CF(data, cf, "[MSH3] connected");
254 struct Curl_easy *data = CF_DATA_CURRENT(cf);
257 CURL_TRC_CF(data, cf, "[MSH3] shutdown complete");
307 * write_resp_raw() copies response data in raw format to the `data`'s
309 * `data`'s overflow buffer.
311 static CURLcode write_resp_raw(struct Curl_easy *data,
314 struct stream_ctx *stream = H3_STREAM_CTX(data);
339 struct Curl_easy *data = userp;
340 struct stream_ctx *stream = H3_STREAM_CTX(data);
360 result = write_resp_raw(data, line, ncopy);
368 result = write_resp_raw(data, hd->Name, hd->NameLength);
370 result = write_resp_raw(data, ": ", 2);
372 result = write_resp_raw(data, hd->Value, hd->ValueLength);
374 result = write_resp_raw(data, "\r\n", 2);
380 drain_stream_from_other_thread(data, stream);
388 struct Curl_easy *data = IfContext;
389 struct stream_ctx *stream = H3_STREAM_CTX(data);
393 /* TODO: we would like to limit the amount of data we are buffer here.
405 result = write_resp_raw(data, "\r\n", 2);
413 result = write_resp_raw(data, buf, *buflen);
427 struct Curl_easy *data = IfContext;
428 struct stream_ctx *stream = H3_STREAM_CTX(data);
446 struct Curl_easy *data = IfContext;
447 struct stream_ctx *stream = H3_STREAM_CTX(data);
458 struct Curl_easy *data = IfContext;
459 struct stream_ctx *stream = H3_STREAM_CTX(data);
468 struct Curl_easy *data,
471 struct stream_ctx *stream = H3_STREAM_CTX(data);
480 failf(data, "HTTP/3 stream reset by server");
482 CURL_TRC_CF(data, cf, "cf_recv, was reset -> %d", *err);
486 failf(data, "HTTP/3 stream was not closed cleanly: (error %zd)",
489 CURL_TRC_CF(data, cf, "cf_recv, closed uncleanly -> %d", *err);
493 CURL_TRC_CF(data, cf, "cf_recv, closed ok -> %d", *err);
502 static void set_quic_expire(struct Curl_cfilter *cf, struct Curl_easy *data)
504 struct stream_ctx *stream = H3_STREAM_CTX(data);
511 Curl_expire(data, 10, EXPIRE_QUIC);
514 Curl_expire(data, 50, EXPIRE_QUIC);
518 static ssize_t cf_msh3_recv(struct Curl_cfilter *cf, struct Curl_easy *data,
521 struct stream_ctx *stream = H3_STREAM_CTX(data);
530 CF_DATA_SAVE(save, cf, data);
531 CURL_TRC_CF(data, cf, "req: recv with %zu byte buffer", len);
536 failf(data, "request aborted");
546 CURL_TRC_CF(data, cf, "read recvbuf(len=%zu) -> %zd, %d",
551 drain_stream(cf, data);
554 nread = recv_closed_stream(cf, data, err);
558 CURL_TRC_CF(data, cf, "req: nothing here, call again");
564 set_quic_expire(cf, data);
569 static ssize_t cf_msh3_send(struct Curl_cfilter *cf, struct Curl_easy *data,
573 struct stream_ctx *stream = H3_STREAM_CTX(data);
582 CF_DATA_SAVE(save, cf, data);
589 CURL_TRC_CF(data, cf, "req: send %zu bytes", len);
593 data. Parse out the headers and create the request, then if there is
594 any data left over go ahead and send it too. */
601 *err = Curl_http_req_to_h2(&h2_headers, h1.req, data);
623 switch(data->state.httpreq) {
638 CURL_TRC_CF(data, cf, "req: send %zu headers", nheader);
639 stream->req = MsH3RequestOpen(ctx->qconn, &msh3_request_if, data,
644 failf(data, "request open failed");
654 CURL_TRC_CF(data, cf, "req: send %zu body bytes", len);
672 set_quic_expire(cf, data);
681 struct Curl_easy *data,
685 struct stream_ctx *stream = H3_STREAM_CTX(data);
688 CF_DATA_SAVE(save, cf, data);
691 Curl_pollset_add_in(data, ps, ctx->sock[SP_LOCAL]);
692 drain_stream(cf, data);
695 Curl_pollset_add_out(data, ps, ctx->sock[SP_LOCAL]);
696 drain_stream(cf, data);
702 const struct Curl_easy *data)
704 struct stream_ctx *stream = H3_STREAM_CTX(data);
708 CF_DATA_SAVE(save, cf, data);
713 CURL_TRC_CF((struct Curl_easy *)data, cf, "data pending = %zu",
718 drain_stream(cf, (struct Curl_easy *)data);
725 static void cf_msh3_active(struct Curl_cfilter *cf, struct Curl_easy *data)
731 /* the first socket info gets set at conn and data */
737 Curl_persistconninfo(data, cf->conn, ctx->l_ip, ctx->l_port);
743 struct Curl_easy *data,
747 drain_stream(cf, data);
748 Curl_expire(data, 0, EXPIRE_RUN_NOW);
754 struct Curl_easy *data,
757 struct stream_ctx *stream = H3_STREAM_CTX(data);
761 CF_DATA_SAVE(save, cf, data);
767 result = h3_data_setup(cf, data);
770 result = h3_data_pause(cf, data, (arg1 != 0));
773 h3_data_done(cf, data);
776 CURL_TRC_CF(data, cf, "req: send done");
782 buf, 0, data)) {
789 CURL_TRC_CF(data, cf, "req: update info");
790 cf_msh3_active(cf, data);
801 struct Curl_easy *data)
821 CURL_TRC_CF(data, cf, "non-standard CA not supported, "
825 CURL_TRC_CF(data, cf, "non-standard CA not supported, "
830 CURL_TRC_CF(data, cf, "connecting to %s:%d (verify=%d)",
835 failf(data, "can't create msh3 api");
846 failf(data, "can't create msh3 connection");
854 result = h3_data_setup(cf, data);
862 struct Curl_easy *data,
875 CF_DATA_SAVE(save, cf, data);
888 result = cf_connect_start(cf, data);
896 CURL_TRC_CF(data, cf, "handshake succeeded");
904 Curl_pgrsTime(data, TIMER_APPCONNECT);
907 failf(data, "failed to connect, handshake failed");
917 static void cf_msh3_close(struct Curl_cfilter *cf, struct Curl_easy *data)
922 (void)data;
923 CF_DATA_SAVE(save, cf, data);
926 CURL_TRC_CF(data, cf, "destroying");
943 CURL_TRC_CF(data, cf, "cf_msh3_close(%d) active",
948 CURL_TRC_CF(data, cf, "cf_socket_close(%d) no longer at "
967 static void cf_msh3_destroy(struct Curl_cfilter *cf, struct Curl_easy *data)
971 CF_DATA_SAVE(save, cf, data);
972 cf_msh3_close(cf, data);
980 struct Curl_easy *data,
1009 cf->next->cft->query(cf->next, data, query, pres1, pres2) :
1014 struct Curl_easy *data,
1019 (void)data;
1044 struct Curl_easy *data,
1052 (void)data;
1076 bool Curl_conn_is_msh3(const struct Curl_easy *data,
1082 (void)data;