rn                 60 core/ngx_resolver.c     ngx_resolver_node_t *rn);
rn                 61 core/ngx_resolver.c static ngx_int_t ngx_resolver_create_name_query(ngx_resolver_node_t *rn,
rn                 63 core/ngx_resolver.c static ngx_int_t ngx_resolver_create_addr_query(ngx_resolver_node_t *rn,
rn                 84 core/ngx_resolver.c static void ngx_resolver_free_node(ngx_resolver_t *r, ngx_resolver_node_t *rn);
rn                199 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                203 core/ngx_resolver.c         rn = (ngx_resolver_node_t *) ngx_rbtree_min(tree->root, tree->sentinel);
rn                205 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn                207 core/ngx_resolver.c         for (ctx = rn->waiting; ctx; ctx = next) {
rn                217 core/ngx_resolver.c         ngx_rbtree_delete(tree, &rn->node);
rn                219 core/ngx_resolver.c         ngx_resolver_free_node(r, rn);
rn                307 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                328 core/ngx_resolver.c         rn = ngx_resolver_lookup_name(r, &ctx->name, hash);
rn                330 core/ngx_resolver.c         if (rn) {
rn                331 core/ngx_resolver.c             p = &rn->waiting;
rn                332 core/ngx_resolver.c             w = rn->waiting;
rn                378 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                382 core/ngx_resolver.c     rn = ngx_resolver_lookup_name(r, &ctx->name, hash);
rn                384 core/ngx_resolver.c     if (rn) {
rn                386 core/ngx_resolver.c         if (rn->valid >= ngx_time()) {
rn                390 core/ngx_resolver.c             ngx_queue_remove(&rn->queue);
rn                392 core/ngx_resolver.c             rn->expire = ngx_time() + r->expire;
rn                394 core/ngx_resolver.c             ngx_queue_insert_head(&r->name_expire_queue, &rn->queue);
rn                396 core/ngx_resolver.c             naddrs = rn->naddrs;
rn                404 core/ngx_resolver.c                     addrs = ngx_resolver_dup(r, rn->u.addrs,
rn                411 core/ngx_resolver.c                     addr = rn->u.addr;
rn                415 core/ngx_resolver.c                 ctx->next = rn->waiting;
rn                416 core/ngx_resolver.c                 rn->waiting = NULL;
rn                443 core/ngx_resolver.c                 ctx->name.len = rn->cnlen;
rn                444 core/ngx_resolver.c                 ctx->name.data = rn->u.cname;
rn                449 core/ngx_resolver.c             ctx->next = rn->waiting;
rn                450 core/ngx_resolver.c             rn->waiting = NULL;
rn                466 core/ngx_resolver.c         if (rn->waiting) {
rn                468 core/ngx_resolver.c             ctx->next = rn->waiting;
rn                469 core/ngx_resolver.c             rn->waiting = ctx;
rn                475 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn                479 core/ngx_resolver.c         ngx_resolver_free_locked(r, rn->query);
rn                480 core/ngx_resolver.c         rn->query = NULL;
rn                482 core/ngx_resolver.c         if (rn->cnlen) {
rn                483 core/ngx_resolver.c             ngx_resolver_free_locked(r, rn->u.cname);
rn                486 core/ngx_resolver.c         if (rn->naddrs > 1) {
rn                487 core/ngx_resolver.c             ngx_resolver_free_locked(r, rn->u.addrs);
rn                494 core/ngx_resolver.c         rn = ngx_resolver_alloc(r, sizeof(ngx_resolver_node_t));
rn                495 core/ngx_resolver.c         if (rn == NULL) {
rn                499 core/ngx_resolver.c         rn->name = ngx_resolver_dup(r, ctx->name.data, ctx->name.len);
rn                500 core/ngx_resolver.c         if (rn->name == NULL) {
rn                501 core/ngx_resolver.c             ngx_resolver_free(r, rn);
rn                505 core/ngx_resolver.c         rn->node.key = hash;
rn                506 core/ngx_resolver.c         rn->nlen = (u_short) ctx->name.len;
rn                507 core/ngx_resolver.c         rn->query = NULL;
rn                509 core/ngx_resolver.c         ngx_rbtree_insert(&r->name_rbtree, &rn->node);
rn                512 core/ngx_resolver.c     rc = ngx_resolver_create_name_query(rn, ctx);
rn                519 core/ngx_resolver.c         ngx_rbtree_delete(&r->name_rbtree, &rn->node);
rn                521 core/ngx_resolver.c         ngx_resolver_free(r, rn->query);
rn                522 core/ngx_resolver.c         ngx_resolver_free(r, rn->name);
rn                523 core/ngx_resolver.c         ngx_resolver_free(r, rn);
rn                531 core/ngx_resolver.c     if (ngx_resolver_send_query(r, rn) != NGX_OK) {
rn                553 core/ngx_resolver.c     rn->expire = ngx_time() + r->resend_timeout;
rn                555 core/ngx_resolver.c     ngx_queue_insert_head(&r->name_resend_queue, &rn->queue);
rn                557 core/ngx_resolver.c     rn->cnlen = 0;
rn                558 core/ngx_resolver.c     rn->naddrs = 0;
rn                559 core/ngx_resolver.c     rn->valid = 0;
rn                560 core/ngx_resolver.c     rn->waiting = ctx;
rn                568 core/ngx_resolver.c     ngx_rbtree_delete(&r->name_rbtree, &rn->node);
rn                570 core/ngx_resolver.c     if (rn->query) {
rn                571 core/ngx_resolver.c         ngx_resolver_free(r, rn->query);
rn                574 core/ngx_resolver.c     ngx_resolver_free(r, rn->name);
rn                576 core/ngx_resolver.c     ngx_resolver_free(r, rn);
rn                587 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                595 core/ngx_resolver.c     rn = ngx_resolver_lookup_addr(r, ctx->addr);
rn                597 core/ngx_resolver.c     if (rn) {
rn                599 core/ngx_resolver.c         if (rn->valid >= ngx_time()) {
rn                603 core/ngx_resolver.c             ngx_queue_remove(&rn->queue);
rn                605 core/ngx_resolver.c             rn->expire = ngx_time() + r->expire;
rn                607 core/ngx_resolver.c             ngx_queue_insert_head(&r->addr_expire_queue, &rn->queue);
rn                609 core/ngx_resolver.c             name = ngx_resolver_dup(r, rn->name, rn->nlen);
rn                614 core/ngx_resolver.c             ctx->name.len = rn->nlen;
rn                628 core/ngx_resolver.c         if (rn->waiting) {
rn                630 core/ngx_resolver.c             ctx->next = rn->waiting;
rn                631 core/ngx_resolver.c             rn->waiting = ctx;
rn                639 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn                641 core/ngx_resolver.c         ngx_resolver_free(r, rn->query);
rn                642 core/ngx_resolver.c         rn->query = NULL;
rn                645 core/ngx_resolver.c         rn = ngx_resolver_alloc(r, sizeof(ngx_resolver_node_t));
rn                646 core/ngx_resolver.c         if (rn == NULL) {
rn                650 core/ngx_resolver.c         rn->node.key = ctx->addr;
rn                651 core/ngx_resolver.c         rn->query = NULL;
rn                653 core/ngx_resolver.c         ngx_rbtree_insert(&r->addr_rbtree, &rn->node);
rn                656 core/ngx_resolver.c     if (ngx_resolver_create_addr_query(rn, ctx) != NGX_OK) {
rn                660 core/ngx_resolver.c     if (ngx_resolver_send_query(r, rn) != NGX_OK) {
rn                680 core/ngx_resolver.c     rn->expire = ngx_time() + r->resend_timeout;
rn                682 core/ngx_resolver.c     ngx_queue_insert_head(&r->addr_resend_queue, &rn->queue);
rn                684 core/ngx_resolver.c     rn->cnlen = 0;
rn                685 core/ngx_resolver.c     rn->naddrs = 0;
rn                686 core/ngx_resolver.c     rn->name = NULL;
rn                687 core/ngx_resolver.c     rn->nlen = 0;
rn                688 core/ngx_resolver.c     rn->valid = 0;
rn                689 core/ngx_resolver.c     rn->waiting = ctx;
rn                699 core/ngx_resolver.c     if (rn) {
rn                700 core/ngx_resolver.c         ngx_rbtree_delete(&r->addr_rbtree, &rn->node);
rn                702 core/ngx_resolver.c         if (rn->query) {
rn                703 core/ngx_resolver.c             ngx_resolver_free(r, rn->query);
rn                706 core/ngx_resolver.c         ngx_resolver_free(r, rn);
rn                727 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                742 core/ngx_resolver.c         rn = ngx_resolver_lookup_addr(r, ctx->addr);
rn                744 core/ngx_resolver.c         if (rn) {
rn                745 core/ngx_resolver.c             p = &rn->waiting;
rn                746 core/ngx_resolver.c             w = rn->waiting;
rn                792 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                805 core/ngx_resolver.c         rn = ngx_queue_data(q, ngx_resolver_node_t, queue);
rn                807 core/ngx_resolver.c         if (now <= rn->expire) {
rn                812 core/ngx_resolver.c                        "resolver expire \"%*s\"", (size_t) rn->nlen, rn->name);
rn                816 core/ngx_resolver.c         ngx_rbtree_delete(tree, &rn->node);
rn                818 core/ngx_resolver.c         ngx_resolver_free_node(r, rn);
rn                824 core/ngx_resolver.c ngx_resolver_send_query(ngx_resolver_t *r, ngx_resolver_node_t *rn)
rn                841 core/ngx_resolver.c     n = ngx_send(uc->connection, rn->query, rn->qlen);
rn                847 core/ngx_resolver.c     if ((size_t) n != (size_t) rn->qlen) {
rn                900 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn                911 core/ngx_resolver.c         rn = ngx_queue_data(q, ngx_resolver_node_t, queue);
rn                913 core/ngx_resolver.c         if (now < rn->expire) {
rn                914 core/ngx_resolver.c             return rn->expire - now;
rn                919 core/ngx_resolver.c                        (size_t) rn->nlen, rn->name, rn->waiting);
rn                923 core/ngx_resolver.c         if (rn->waiting) {
rn                925 core/ngx_resolver.c             if (ngx_resolver_send_query(r, rn) == NGX_OK) {
rn                927 core/ngx_resolver.c                 rn->expire = now + r->resend_timeout;
rn                929 core/ngx_resolver.c                 ngx_queue_insert_head(queue, &rn->queue);
rn                935 core/ngx_resolver.c         ngx_rbtree_delete(tree, &rn->node);
rn                937 core/ngx_resolver.c         ngx_resolver_free_node(r, rn);
rn                973 core/ngx_resolver.c     ngx_resolver_node_t   *rn;
rn               1009 core/ngx_resolver.c             rn = ngx_queue_data(q, ngx_resolver_node_t, queue);
rn               1010 core/ngx_resolver.c             qident = (rn->query[0] << 8) + rn->query[1];
rn               1016 core/ngx_resolver.c                               rn->nlen, rn->name);
rn               1128 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn               1140 core/ngx_resolver.c     rn = ngx_resolver_lookup_name(r, &name, hash);
rn               1142 core/ngx_resolver.c     if (rn == NULL || rn->query == NULL) {
rn               1148 core/ngx_resolver.c     qident = (rn->query[0] << 8) + rn->query[1];
rn               1164 core/ngx_resolver.c         next = rn->waiting;
rn               1165 core/ngx_resolver.c         rn->waiting = NULL;
rn               1167 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn               1169 core/ngx_resolver.c         ngx_rbtree_delete(&r->name_rbtree, &rn->node);
rn               1171 core/ngx_resolver.c         ngx_resolver_free_node(r, rn);
rn               1266 core/ngx_resolver.c             rn->u.addr = addr;
rn               1317 core/ngx_resolver.c             rn->u.addrs = addrs;
rn               1319 core/ngx_resolver.c             addrs = ngx_resolver_dup(r, rn->u.addrs,
rn               1326 core/ngx_resolver.c         rn->naddrs = (u_short) naddrs;
rn               1328 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn               1330 core/ngx_resolver.c         rn->valid = ngx_time() + r->valid;
rn               1331 core/ngx_resolver.c         rn->expire = ngx_time() + r->expire;
rn               1333 core/ngx_resolver.c         ngx_queue_insert_head(&r->name_expire_queue, &rn->queue);
rn               1335 core/ngx_resolver.c         next = rn->waiting;
rn               1336 core/ngx_resolver.c         rn->waiting = NULL;
rn               1368 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn               1370 core/ngx_resolver.c         rn->cnlen = (u_short) name.len;
rn               1371 core/ngx_resolver.c         rn->u.cname = name.data;
rn               1372 core/ngx_resolver.c         rn->valid = ngx_time() + r->valid;
rn               1373 core/ngx_resolver.c         rn->expire = ngx_time() + r->expire;
rn               1375 core/ngx_resolver.c         ngx_queue_insert_head(&r->name_expire_queue, &rn->queue);
rn               1377 core/ngx_resolver.c         ctx = rn->waiting;
rn               1378 core/ngx_resolver.c         rn->waiting = NULL;
rn               1428 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn               1455 core/ngx_resolver.c     rn = ngx_resolver_lookup_addr(r, addr);
rn               1457 core/ngx_resolver.c     if (rn == NULL || rn->query == NULL) {
rn               1465 core/ngx_resolver.c     qident = (rn->query[0] << 8) + rn->query[1];
rn               1480 core/ngx_resolver.c         next = rn->waiting;
rn               1481 core/ngx_resolver.c         rn->waiting = NULL;
rn               1483 core/ngx_resolver.c         ngx_queue_remove(&rn->queue);
rn               1485 core/ngx_resolver.c         ngx_rbtree_delete(&r->addr_rbtree, &rn->node);
rn               1487 core/ngx_resolver.c         ngx_resolver_free_node(r, rn);
rn               1536 core/ngx_resolver.c     if (name.len != (size_t) rn->nlen
rn               1537 core/ngx_resolver.c         || ngx_strncmp(name.data, rn->name, name.len) != 0)
rn               1539 core/ngx_resolver.c         if (rn->nlen) {
rn               1540 core/ngx_resolver.c             ngx_resolver_free(r, rn->name);
rn               1543 core/ngx_resolver.c         rn->nlen = (u_short) name.len;
rn               1544 core/ngx_resolver.c         rn->name = name.data;
rn               1546 core/ngx_resolver.c         name.data = ngx_resolver_dup(r, rn->name, name.len);
rn               1552 core/ngx_resolver.c     ngx_queue_remove(&rn->queue);
rn               1554 core/ngx_resolver.c     rn->valid = ngx_time() + r->valid;
rn               1555 core/ngx_resolver.c     rn->expire = ngx_time() + r->expire;
rn               1557 core/ngx_resolver.c     ngx_queue_insert_head(&r->addr_expire_queue, &rn->queue);
rn               1559 core/ngx_resolver.c     next = rn->waiting;
rn               1560 core/ngx_resolver.c     rn->waiting = NULL;
rn               1608 core/ngx_resolver.c     ngx_resolver_node_t  *rn;
rn               1628 core/ngx_resolver.c             rn = (ngx_resolver_node_t *) node;
rn               1630 core/ngx_resolver.c             rc = ngx_memn2cmp(name->data, rn->name, name->len, rn->nlen);
rn               1633 core/ngx_resolver.c                 return rn;
rn               1685 core/ngx_resolver.c     ngx_resolver_node_t   *rn, *rn_temp;
rn               1699 core/ngx_resolver.c             rn = (ngx_resolver_node_t *) node;
rn               1702 core/ngx_resolver.c             p = (ngx_memn2cmp(rn->name, rn_temp->name, rn->nlen, rn_temp->nlen)
rn               1722 core/ngx_resolver.c ngx_resolver_create_name_query(ngx_resolver_node_t *rn, ngx_resolver_ctx_t *ctx)
rn               1739 core/ngx_resolver.c     rn->qlen = (u_short) len;
rn               1740 core/ngx_resolver.c     rn->query = p;
rn               1803 core/ngx_resolver.c ngx_resolver_create_addr_query(ngx_resolver_node_t *rn, ngx_resolver_ctx_t *ctx)
rn               1820 core/ngx_resolver.c     rn->query = p;
rn               1848 core/ngx_resolver.c     rn->qlen = (u_short)
rn               1850 core/ngx_resolver.c                    - rn->query);
rn               1965 core/ngx_resolver.c ngx_resolver_free_node(ngx_resolver_t *r, ngx_resolver_node_t *rn)
rn               1969 core/ngx_resolver.c     if (rn->query) {
rn               1970 core/ngx_resolver.c         ngx_resolver_free_locked(r, rn->query);
rn               1973 core/ngx_resolver.c     if (rn->name) {
rn               1974 core/ngx_resolver.c         ngx_resolver_free_locked(r, rn->name);
rn               1977 core/ngx_resolver.c     if (rn->cnlen) {
rn               1978 core/ngx_resolver.c         ngx_resolver_free_locked(r, rn->u.cname);
rn               1981 core/ngx_resolver.c     if (rn->naddrs > 1) {
rn               1982 core/ngx_resolver.c         ngx_resolver_free_locked(r, rn->u.addrs);
rn               1985 core/ngx_resolver.c     ngx_resolver_free_locked(r, rn);