Lines Matching refs:uri

291 #define	URI_HASH_UNLINK(cur, new, hp, puri, uri) {			\  argument
293 (puri)->hash = (uri)->hash; \
295 (hp)->list = (uri)->hash; \
343 uri_desc_t *uri; in nl7c_mi_report_hash() local
361 for (uri = hp->list; uri != NULL; uri = uri->hash) { in nl7c_mi_report_hash()
400 uri_desc_t *uri; in nl7c_mi_report_uri() local
414 uri = hp->list; in nl7c_mi_report_uri()
415 while (uri != NULL) { in nl7c_mi_report_uri()
416 sc = *(uri->path.ep); in nl7c_mi_report_uri()
417 *(uri->path.ep) = 0; in nl7c_mi_report_uri()
419 uri->path.cp, (int)uri->resplen, in nl7c_mi_report_uri()
420 (int)uri->respclen, (int)uri->count); in nl7c_mi_report_uri()
421 *(uri->path.ep) = sc; in nl7c_mi_report_uri()
423 uri = uri->hash; in nl7c_mi_report_uri()
442 nl7c_uri_inactive(uri_desc_t *uri) in nl7c_uri_inactive() argument
446 if (uri->tail) { in nl7c_uri_inactive()
447 uri_rd_t *rdp = &uri->response; in nl7c_uri_inactive()
467 if (uri->scheme != NULL) { in nl7c_uri_inactive()
468 nl7c_http_free(uri->scheme); in nl7c_uri_inactive()
470 if (uri->reqmp) { in nl7c_uri_inactive()
471 freeb(uri->reqmp); in nl7c_uri_inactive()
525 uri_desc_t *uri; in uri_delete() local
539 for (uri = hp->list; uri != NULL; uri = uri->hash) { in uri_delete()
540 if (uri != del) { in uri_delete()
541 puri = uri; in uri_delete()
548 URI_HASH_UNLINK(cur, new, hp, puri, uri); in uri_delete()
550 REF_RELE(uri); in uri_delete()
569 uri_add(uri_desc_t *uri, krw_t rwlock, boolean_t nonblocking) in uri_add() argument
584 REF_HOLD(uri); in uri_add()
586 hix = uri->hvalue; in uri_add()
603 uri->hash = hp->list; in uri_add()
604 hp->list = uri; in uri_add()
703 hix = uri->hvalue; in uri_add()
707 uri->hash = hp->list; in uri_add()
708 hp->list = uri; in uri_add()
744 uri_desc_t *uri; in uri_lookup() local
761 for (uri = hp->list; uri != NULL; uri = uri->hash) { in uri_lookup()
762 char *ap = uri->path.cp; in uri_lookup()
767 while (bp < rep && ap < uri->path.ep) { in uri_lookup()
770 H2A(ap, uri->path.ep, a); in uri_lookup()
783 if (bp != rep || ap != uri->path.ep) { in uri_lookup()
787 ap = uri->auth.cp; in uri_lookup()
794 while (bp < ruri->auth.ep && ap < uri->auth.ep) { in uri_lookup()
797 H2A(ap, uri->path.ep, a); in uri_lookup()
810 if (bp != ruri->auth.ep || ap != uri->auth.ep) { in uri_lookup()
823 if (uri->expire >= 0 && uri->expire <= ddi_get_lbolt() || in uri_lookup()
835 puri->hash = uri->hash; in uri_lookup()
837 hp->list = uri->hash; in uri_lookup()
846 REF_RELE(uri); in uri_lookup()
849 if (uri->scheme != NULL) { in uri_lookup()
855 ! nl7c_http_cmp(uri->scheme, ruri->scheme)) in uri_lookup()
870 REF_HOLD(uri); in uri_lookup()
871 mutex_enter(&uri->proclock); in uri_lookup()
872 if (uri->proc != NULL) { in uri_lookup()
877 cv_wait_sig(&uri->waiting, &uri->proclock)) { in uri_lookup()
883 mutex_exit(&uri->proclock); in uri_lookup()
884 REF_RELE(uri); in uri_lookup()
894 mutex_exit(&uri->proclock); in uri_lookup()
895 REF_RELE(uri); in uri_lookup()
899 mutex_exit(&uri->proclock); in uri_lookup()
900 uri->hit++; in uri_lookup()
903 return (uri); in uri_lookup()
905 puri = uri; in uri_lookup()
947 uri_desc_t *uri; in nl7c_uri_reclaim() local
963 for (uri = hp->list; uri != NULL; uri = uri->hash) { in nl7c_uri_reclaim()
964 if (uri->hit != 0) { in nl7c_uri_reclaim()
968 uri->hit--; in nl7c_uri_reclaim()
969 puri = uri; in nl7c_uri_reclaim()
972 if (uri->proc != NULL) { in nl7c_uri_reclaim()
983 URI_HASH_UNLINK(cur, new, hp, puri, uri); in nl7c_uri_reclaim()
992 REF_RELE(uri); in nl7c_uri_reclaim()
1022 uri_desc_t *uri = (uri_desc_t *)sti->sti_nl7c_uri; in nl7c_urifree() local
1025 if (uri->hash != URI_TEMP) { in nl7c_urifree()
1026 uri_delete(uri); in nl7c_urifree()
1027 mutex_enter(&uri->proclock); in nl7c_urifree()
1028 uri->proc = NULL; in nl7c_urifree()
1029 if (CV_HAS_WAITERS(&uri->waiting)) { in nl7c_urifree()
1030 cv_broadcast(&uri->waiting); in nl7c_urifree()
1032 mutex_exit(&uri->proclock); in nl7c_urifree()
1036 uri->proc = NULL; in nl7c_urifree()
1039 REF_RELE(uri); in nl7c_urifree()
1057 nl7c_resp_parse(struct sonode *so, uri_desc_t *uri, char *data, int sz) in nl7c_resp_parse() argument
1059 if (! nl7c_http_response(&data, &data[sz], uri, so)) { in nl7c_resp_parse()
1069 if (uri->hash != URI_TEMP && uri->nocache) { in nl7c_resp_parse()
1075 uri_delete(uri); in nl7c_resp_parse()
1076 mutex_enter(&uri->proclock); in nl7c_resp_parse()
1077 if (CV_HAS_WAITERS(&uri->waiting)) { in nl7c_resp_parse()
1078 cv_broadcast(&uri->waiting); in nl7c_resp_parse()
1080 mutex_exit(&uri->proclock); in nl7c_resp_parse()
1081 uri->hash = URI_TEMP; in nl7c_resp_parse()
1115 uri_desc_t *uri = (uri_desc_t *)sti->sti_nl7c_uri; in nl7c_data() local
1127 if (uri == NULL) { in nl7c_data()
1142 URI_RD_ADD(uri, rdp, sz, -1); in nl7c_data()
1148 if (uri->hash != URI_TEMP && uri->count > nca_max_cache_size) { in nl7c_data()
1149 uri_delete(uri); in nl7c_data()
1150 uri->hash = URI_TEMP; in nl7c_data()
1179 perror = nl7c_resp_parse(so, uri, data, sz); in nl7c_data()
1182 error = uri_rd_response(so, uri, rdp, first); in nl7c_data()
1188 ((uri->respclen == URI_LEN_NOVALUE && in nl7c_data()
1189 uri->resplen == URI_LEN_NOVALUE) || in nl7c_data()
1190 uri->count >= uri->resplen)) { in nl7c_data()
1282 uri_desc_t *uri = (uri_desc_t *)sti->sti_nl7c_uri; in nl7c_sendfilev() local
1299 if (uri == NULL) { in nl7c_sendfilev()
1378 URI_RD_ADD(uri, rdp, cnt, -1); in nl7c_sendfilev()
1387 if (uri->hash != URI_TEMP && total_count > nca_max_cache_size) { in nl7c_sendfilev()
1388 uri_delete(uri); in nl7c_sendfilev()
1389 uri->hash = URI_TEMP; in nl7c_sendfilev()
1393 perror = nl7c_resp_parse(so, uri, data, len); in nl7c_sendfilev()
1396 error = uri_rd_response(so, uri, rdp, first); in nl7c_sendfilev()
1407 URI_RD_ADD(uri, rdp, len - cnt, off); in nl7c_sendfilev()
1415 error = uri_rd_response(so, uri, rdp, first); in nl7c_sendfilev()
1433 ((uri->respclen == URI_LEN_NOVALUE && in nl7c_sendfilev()
1434 uri->resplen == URI_LEN_NOVALUE) || in nl7c_sendfilev()
1435 uri->count >= uri->resplen)) { in nl7c_sendfilev()
1483 uri_desc_t *uri = (uri_desc_t *)sti->sti_nl7c_uri; in nl7c_close() local
1485 if (uri == NULL) { in nl7c_close()
1496 if (uri->hash != URI_TEMP) { in nl7c_close()
1497 mutex_enter(&uri->proclock); in nl7c_close()
1498 uri->proc = NULL; in nl7c_close()
1499 if (CV_HAS_WAITERS(&uri->waiting)) { in nl7c_close()
1500 cv_broadcast(&uri->waiting); in nl7c_close()
1502 mutex_exit(&uri->proclock); in nl7c_close()
1506 uri->proc = NULL; in nl7c_close()
1509 REF_RELE(uri); in nl7c_close()
1545 REF_RELE(desb->uri); in uri_desb_free()
1623 REF_HOLD(temp->uri); in uri_desb_chop()
1634 REF_RELE(temp->uri); in uri_desb_chop()
1705 uri_desc_t *uri, in uri_rd_response() argument
1727 desb.uri = uri; in uri_rd_response()
1755 if (uri->eoh >= rd.data.kmem && in uri_rd_response()
1756 uri->eoh < &rd.data.kmem[rd.sz]) { in uri_rd_response()
1763 &wsz, &desb, max_mblk, uri->eoh, persist); in uri_rd_response()
1843 uri_response(struct sonode *so, uri_desc_t *uri) in uri_response() argument
1845 uri_rd_t *rdp = &uri->response; in uri_response()
1850 error = uri_rd_response(so, uri, rdp, first); in uri_response()
1860 if (uri->hash != URI_TEMP) in uri_response()
1861 uri_delete(uri); in uri_response()
1952 uri_desc_t *uri = NULL; in nl7c_parse() local
1966 uri = kmem_cache_alloc(nl7c_uri_kmc, KM_SLEEP); in nl7c_parse()
1967 REF_INIT(uri, 1, nl7c_uri_inactive, nl7c_uri_kmc); in nl7c_parse()
1968 uri->hash = NULL; in nl7c_parse()
1969 uri->tail = NULL; in nl7c_parse()
1970 uri->scheme = NULL; in nl7c_parse()
1971 uri->count = 0; in nl7c_parse()
1972 uri->reqmp = reqmp; in nl7c_parse()
2008 uri->hash = URI_TEMP; in nl7c_parse()
2017 uri->hash = URI_TEMP; in nl7c_parse()
2030 uri->path.cp = uris; in nl7c_parse()
2031 uri->path.ep = cp; in nl7c_parse()
2032 uri->hvalue = hv; in nl7c_parse()
2033 if (! nl7c_http_request(&cp, ep, uri, so) || cp == NULL) { in nl7c_parse()
2046 if (uri->nocache) { in nl7c_parse()
2047 uri->hash = URI_TEMP; in nl7c_parse()
2048 (void) uri_lookup(uri, B_FALSE, nonblocking); in nl7c_parse()
2049 } else if (uri->hash == URI_TEMP) { in nl7c_parse()
2050 uri->nocache = B_TRUE; in nl7c_parse()
2051 (void) uri_lookup(uri, B_FALSE, nonblocking); in nl7c_parse()
2054 if (uri->hash == URI_TEMP) { in nl7c_parse()
2069 ruri = uri; in nl7c_parse()
2070 if ((uri = uri_lookup(uri, B_TRUE, nonblocking)) == NULL) { in nl7c_parse()
2080 if (uri->response.sz > 0) { in nl7c_parse()
2107 nl7c_logd_log(ruri, uri, sti->sti_nl7c_rtime, faddr); in nl7c_parse()
2112 uri = nl7c_http_cond(ruri, uri); in nl7c_parse()
2122 (void) uri_response(so, uri); in nl7c_parse()
2123 REF_RELE(uri); in nl7c_parse()
2141 uri->proc = so; in nl7c_parse()
2142 sti->sti_nl7c_uri = uri; in nl7c_parse()
2158 if (uri) { in nl7c_parse()
2159 REF_RELE(uri); in nl7c_parse()