Lines Matching refs:ctx

133   ((struct cf_msh3_ctx *)(cf)->ctx)->call_data
239 struct cf_msh3_ctx *ctx = cf->ctx;
244 ctx->handshake_succeeded = true;
245 ctx->connected = true;
246 ctx->handshake_complete = true;
253 struct cf_msh3_ctx *ctx = cf->ctx;
258 ctx->connected = false;
259 ctx->handshake_complete = true;
572 struct cf_msh3_ctx *ctx = cf->ctx;
639 stream->req = MsH3RequestOpen(ctx->qconn, &msh3_request_if, data,
684 struct cf_msh3_ctx *ctx = cf->ctx;
689 if(stream && ctx->sock[SP_LOCAL] != CURL_SOCKET_BAD) {
691 Curl_pollset_add_in(data, ps, ctx->sock[SP_LOCAL]);
695 Curl_pollset_add_out(data, ps, ctx->sock[SP_LOCAL]);
727 struct cf_msh3_ctx *ctx = cf->ctx;
730 cf->conn->sock[cf->sockindex] = ctx->sock[SP_LOCAL];
733 cf->conn->remote_addr = &ctx->addr;
735 cf->conn->bits.ipv6 = (ctx->addr.family == AF_INET6)? TRUE : FALSE;
737 Curl_persistconninfo(data, cf->conn, ctx->l_ip, ctx->l_port);
739 ctx->active = TRUE;
803 struct cf_msh3_ctx *ctx = cf->ctx;
814 memcpy(&addr, &ctx->addr.sa_addr, ctx->addr.addrlen);
833 ctx->api = MsH3ApiOpen();
834 if(!ctx->api) {
839 ctx->qconn = MsH3ConnectionOpen(ctx->api,
845 if(!ctx->qconn) {
847 if(ctx->api) {
848 MsH3ApiClose(ctx->api);
849 ctx->api = NULL;
865 struct cf_msh3_ctx *ctx = cf->ctx;
877 if(ctx->sock[SP_LOCAL] == CURL_SOCKET_BAD) {
878 if(Curl_socketpair(AF_UNIX, SOCK_STREAM, 0, &ctx->sock[0]) < 0) {
879 ctx->sock[SP_LOCAL] = CURL_SOCKET_BAD;
880 ctx->sock[SP_REMOTE] = CURL_SOCKET_BAD;
886 if(!ctx->qconn) {
887 ctx->connect_started = Curl_now();
893 if(ctx->handshake_complete) {
894 ctx->handshake_at = Curl_now();
895 if(ctx->handshake_succeeded) {
919 struct cf_msh3_ctx *ctx = cf->ctx;
925 if(ctx) {
927 if(ctx->qconn) {
928 MsH3ConnectionClose(ctx->qconn);
929 ctx->qconn = NULL;
931 if(ctx->api) {
932 MsH3ApiClose(ctx->api);
933 ctx->api = NULL;
936 if(ctx->active) {
941 ctx->active = FALSE;
942 if(ctx->sock[SP_LOCAL] == cf->conn->sock[cf->sockindex]) {
944 (int)ctx->sock[SP_LOCAL]);
949 "conn->sock[], discarding", (int)ctx->sock[SP_LOCAL]);
950 ctx->sock[SP_LOCAL] = CURL_SOCKET_BAD;
955 if(ctx->sock[SP_LOCAL] != CURL_SOCKET_BAD) {
956 sclose(ctx->sock[SP_LOCAL]);
958 if(ctx->sock[SP_REMOTE] != CURL_SOCKET_BAD) {
959 sclose(ctx->sock[SP_REMOTE]);
961 ctx->sock[SP_LOCAL] = CURL_SOCKET_BAD;
962 ctx->sock[SP_REMOTE] = CURL_SOCKET_BAD;
973 free(cf->ctx);
974 cf->ctx = NULL;
983 struct cf_msh3_ctx *ctx = cf->ctx;
988 (void)ctx;
996 *when = ctx->handshake_at;
1002 *when = ctx->handshake_at;
1017 struct cf_msh3_ctx *ctx = cf->ctx;
1021 return ctx && ctx->sock[SP_LOCAL] != CURL_SOCKET_BAD && ctx->qconn &&
1022 ctx->connected;
1048 struct cf_msh3_ctx *ctx = NULL;
1055 ctx = calloc(1, sizeof(*ctx));
1056 if(!ctx) {
1060 Curl_sock_assign_addr(&ctx->addr, ai, TRNSPRT_QUIC);
1061 ctx->sock[SP_LOCAL] = CURL_SOCKET_BAD;
1062 ctx->sock[SP_REMOTE] = CURL_SOCKET_BAD;
1064 result = Curl_cf_create(&cf, &Curl_cft_http3, ctx);
1070 Curl_safefree(ctx);