Lines Matching defs:conn

134   /* Important: reset the conn pointer so that we don't point to memory
644 struct connectdata *conn = data->conn;
681 if(conn->handler->done)
682 result = conn->handler->done(data, status, premature);
705 if(CONN_INUSE(conn)) {
710 conn->easyq.size));
716 if(conn->dns_entry) {
717 Curl_resolv_unlock(data, conn->dns_entry); /* done with this */
718 conn->dns_entry = NULL;
726 if conn->bits.close is TRUE, it means that the connection should be
737 data->state.recent_conn_id = conn->connection_id;
740 && !(conn->http_ntlm_state == NTLMSTATE_TYPE2 ||
741 conn->proxy_ntlm_state == NTLMSTATE_TYPE2)
744 && !(conn->http_negotiate_state == GSS_AUTHRECV ||
745 conn->proxy_negotiate_state == GSS_AUTHRECV)
747 ) || conn->bits.close
748 || (premature && !Curl_conn_is_multiplex(conn, FIRSTSOCKET))) {
752 conn->connection_id,
753 data->set.reuse_forbid, conn->bits.close, premature,
754 Curl_conn_is_multiplex(conn, FIRSTSOCKET)));
755 connclose(conn, "disconnecting");
756 Curl_conncache_remove_conn(data, conn, FALSE);
758 Curl_disconnect(data, conn, premature);
764 conn->bits.socksproxy ?
765 conn->socks_proxy.host.dispname :
766 conn->bits.httpproxy ? conn->http_proxy.host.dispname :
768 conn->bits.conn_to_host ? conn->conn_to_host.dispname :
769 conn->host.dispname;
771 curl_off_t connection_id = conn->connection_id;
777 if(Curl_conncache_return_conn(data, conn)) {
792 struct connectdata *conn, void *param)
795 if(data->state.lastconnect_id != conn->connection_id)
798 if(!conn->connect_only)
801 connclose(conn, "Removing connect-only easy handle");
843 if(data->conn &&
848 streamclose(data->conn, "Removed with partial response");
851 if(data->conn) {
966 * This is the only function that should clear data->conn. This will
967 * occasionally be called with the data->conn pointer already cleared.
971 struct connectdata *conn = data->conn;
972 if(conn) {
973 Curl_conn_ev_data_detach(conn, data);
974 Curl_llist_remove(&conn->easyq, &data->conn_queue, NULL);
976 data->conn = NULL;
982 * This is the only function that should assign data->conn
985 struct connectdata *conn)
987 DEBUGASSERT(!data->conn);
988 DEBUGASSERT(conn);
989 data->conn = conn;
990 Curl_llist_insert_next(&conn->easyq, conn->easyq.tail, data,
992 if(conn->handler && conn->handler->attach)
993 conn->handler->attach(data, conn);
994 Curl_conn_ev_data_attach(conn, data);
999 struct connectdata *conn = data->conn;
1001 /* Not using `conn->sockfd` as `Curl_setup_transfer()` initializes
1003 if(conn && conn->sock[FIRSTSOCKET] != CURL_SOCKET_BAD) {
1005 socks[0] = conn->sock[FIRSTSOCKET];
1013 struct connectdata *conn = data->conn;
1014 if(conn && conn->handler->proto_getsock)
1015 return conn->handler->proto_getsock(data, conn, socks);
1016 else if(conn && conn->sockfd != CURL_SOCKET_BAD) {
1018 socks[0] = conn->sockfd;
1026 struct connectdata *conn = data->conn;
1027 if(conn && conn->handler->domore_getsock)
1028 return conn->handler->domore_getsock(data, conn, socks);
1029 else if(conn && conn->sockfd != CURL_SOCKET_BAD) {
1031 socks[0] = conn->sockfd;
1039 struct connectdata *conn = data->conn;
1040 if(conn && conn->handler->doing_getsock)
1041 return conn->handler->doing_getsock(data, conn, socks);
1042 else if(conn && conn->sockfd != CURL_SOCKET_BAD) {
1044 socks[0] = conn->sockfd;
1052 struct connectdata *conn = data->conn;
1054 if(!conn)
1056 else if(conn->handler->perform_getsock)
1057 return conn->handler->perform_getsock(data, conn, sock);
1063 DEBUGASSERT(conn->sockfd != CURL_SOCKET_BAD);
1065 sock[sockindex] = conn->sockfd;
1069 if((conn->sockfd != conn->writesockfd) ||
1076 DEBUGASSERT(conn->writesockfd != CURL_SOCKET_BAD);
1077 sock[sockindex] = conn->writesockfd;
1094 if(!data->conn)
1604 struct connectdata *conn)
1615 /* pass in NULL for 'conn' here since we don't want to init the
1621 Curl_attach_connection(data, conn);
1630 struct connectdata *conn = data->conn;
1632 DEBUGASSERT(conn);
1633 DEBUGASSERT(conn->handler);
1635 if(conn->handler->do_it)
1636 result = conn->handler->do_it(data, done);
1653 struct connectdata *conn = data->conn;
1657 if(conn->handler->do_more)
1658 result = conn->handler->do_more(data, complete);
1705 streamclose(data->conn, "Disconnected with pending data");
1724 struct connectdata *conn = data->conn;
1726 if(conn && conn->handler->connecting) {
1728 result = conn->handler->connecting(data, done);
1744 struct connectdata *conn = data->conn;
1746 if(conn && conn->handler->doing) {
1748 result = conn->handler->doing(data, done);
1765 struct connectdata *conn = data->conn;
1766 DEBUGASSERT(conn);
1771 if(Curl_conn_is_connected(conn, FIRSTSOCKET)
1772 && conn->bits.protoconnstart) {
1779 if(!conn->handler->connecting)
1785 if(!conn->bits.protoconnstart) {
1786 if(conn->handler->connect_it) {
1790 result = conn->handler->connect_it(data, protocol_done);
1798 conn->bits.protoconnstart = TRUE;
1812 DEBUGASSERT(data->conn);
1826 if(data->conn->handler->protocol & PROTO_FAMILY_HTTP) {
1952 DEBUGASSERT(data->conn);
1953 if(!data->conn)
1957 if(data->conn &&
2046 struct connectdata *conn = data->conn;
2049 DEBUGASSERT(conn);
2051 if(conn->bits.httpproxy)
2052 hostname = conn->http_proxy.host.name;
2055 if(conn->bits.conn_to_host)
2056 hostname = conn->conn_to_host.name;
2058 hostname = conn->host.name;
2061 dns = Curl_fetch_addr(data, hostname, (int)conn->port);
2093 data->conn = NULL; /* no more connection */
2116 DEBUGASSERT(data->conn);
2119 if(data->conn->bits.proxy_connect_closed) {
2140 DEBUGASSERT(data->conn);
2159 if(!result && data->conn->bits.reuse) {
2228 connkeep(data->conn, "CONNECT_ONLY");
2237 /* When multi_do() returns failure, data->conn might be NULL! */
2250 multistate(data, data->conn ?
2264 else if(data->conn->bits.do_more) {
2277 data->conn->bits.reuse) {
2319 /* Have error handler disconnect conn if we can't retry */
2327 if(data->conn)
2336 DEBUGASSERT(data->conn);
2341 multistate(data, data->conn->bits.do_more?
2358 DEBUGASSERT(data->conn);
2381 DEBUGASSERT(data->conn);
2382 if(data->conn->bits.multiplex)
2388 if((data->conn->sockfd != CURL_SOCKET_BAD) ||
2389 (data->conn->writesockfd != CURL_SOCKET_BAD))
2394 ((data->conn->handler->flags & PROTOPT_WILDCARD) == 0)) {
2404 DEBUGASSERT(data->conn);
2412 if(!(data->conn->handler->flags & PROTOPT_DUAL) &&
2414 streamclose(data->conn, "Transfer returned error");
2509 streamclose(data->conn, "Disconnect HTTP/2 for HTTP/1");
2535 if(!(data->conn->handler->flags & PROTOPT_DUAL) &&
2537 streamclose(data->conn, "Transfer returned error");
2606 if(data->conn) {
2609 if(data->conn->bits.multiplex)
2649 if(data->conn &&
2678 if(data->conn) {
2682 struct connectdata *conn = data->conn;
2684 /* This is where we make sure that the conn pointer is reset.
2690 Curl_conncache_remove_conn(data, conn, TRUE);
2693 Curl_disconnect(data, conn, dead_connection);
2705 else if(data->conn && Curl_pgrsUpdate(data)) {
2709 streamclose(data->conn, "Aborted by callback");
2732 DEBUGASSERT(!data->conn);
2843 if(!data->state.done && data->conn)
3243 if(data->conn && !(data->conn->handler->flags & PROTOPT_DIRLOCK))
3745 struct connectdata *conn;
3748 conn = data->conn;
3749 DEBUGASSERT(conn);
3750 DEBUGASSERT(conn->bundle);
3752 conn->bundle->multiuse = bundlestate;