Lines Matching full:query

49  * module as a whole, for entire-module state (such as a cache).  And per-query
51 * the per-query state.
53 * Most per-query state should simply be allocated in the query region.
54 * This is destroyed at the end of the query.
60 * *** Example module calls for a normal query
62 * In this example, the query does not need recursion, all the other data
69 * A query comes in, and a mesh entry is created for it. The mesh
71 * in the list of modules, and it is started on this new query. The
76 * The next module is the iterator. It is started on the passed query and
79 * send a UDP query. The iterator uses env.send_query() to send the
80 * query. Then the iterator suspends (returns from the operate call).
83 * operate function is called for the query, on the iterator module,
90 * the query. Once it is done (which could take recursive lookups, but
95 * takes this to mean that the query is finally done. The mesh invokes
99 * query, then the mesh will tell them about it. It calls the inform_super
101 * them with the operate() call. During inform_super the query that is done
113 * a different query. It calls env.attach_sub() to create a new query state.
115 * can edit the module-states for the newly created query (i.e. pass along
119 * The mesh meanwhile will have the newly created query (or queries) on
120 * a waiting list, and will call operate() on this query (or queries).
121 * It starts again at the start of the module list for them. The query
135 * module has to wait for completion or eventual timeout. A recursive query
144 * information (query, additional) can be passed along.
211 /* Inplace callbacks for when a query is ready to be sent to the back.*/
252 * qinfo: the query info.
253 * qstate: the module state. NULL when calling before the query reaches the
274 * Inplace callback function called before sending the query to a nameserver.
278 * qinfo: query info.
279 * flags: flags of the query.
280 * qstate: query state.
281 * addr: to which server to send the query.
297 * Inplace callback function called after parsing edns on query reply.
300 * qstate: the query state.
308 * Inplace callback function called after parsing query response.
311 * qstate: the query state.
312 * response: query response.
324 * qstate: the query state.
351 * Send serviced DNS query to server. UDP/TCP and EDNS is handled.
356 * @param qinfo: query info.
374 * @param q: which query state to reactivate upon return.
375 * @param was_ratelimited: it will signal back if the query failed to pass the
377 * @return: false on failure (memory or socket related). no query was
380 * that involve this query (timeout, error or reply).
391 * Remove all sub-query references from this query state.
403 * Pass if it is priming query or not.
407 * so that the next run of the query with this module is successful.
412 * @param qinfo: what to query for (copied).
414 * @param prime: if it is a (stub) priming query.
425 * Add detached query.
431 * Pass if it is priming query or not.
435 * so that the next run of the query with this module is successful.
441 * @param qinfo: what to query for (copied).
443 * @param prime: if it is a (stub) priming query.
444 * @param valrec: if it is a validation recursion query (lookup of key, DS).
468 * @param qinfo: query info for dependency.
469 * @param flags: query flags of dependency, RD/CD flags.
470 * @param prime: if dependency is a priming query or not.
491 /** mesh area with query state dependencies */
559 /** initial state - new query */
561 /** waiting for reply to outgoing network query */
567 /** module is waiting for sub-query */
569 /** module could not finish the query */
571 /** module is finished with query */
579 /** new query */
581 /** query passed by other module */
619 * Module state, per query.
622 /** which query is being answered: name, type, class */
624 /** flags uint16 from query */
626 /** if this is a (stub or root) priming query (with hints) */
628 /** if this is a validation recursion query that does not get
634 * we don't want to send a reply for the internal query. */
648 /** region for this query. Cleared when query process finishes. */
656 /** module specific data for query. indexed by module id. */
658 /** environment for this query */
660 /** mesh related information for this query */
681 /** whether the query (or a subquery) was ratelimited */
683 /** time when query was started. This is when the qstate is created.
701 /** if the query has been modified by rpz processing. */
703 /** if the query is rpz passthru, no further rpz processing for it */
758 * accept a new query, or work further on existing query.
762 * @param qstate: the query state.
764 * query state 'identity', that is query info, qflags,
766 * Attach a subquery to get results to a different query.
769 * or error on this outbound query.
784 * @param qstate: the query state that is finished.
823 * @param qstate: query state.
824 * @param str: copied into query region and appended.
833 * @param qstate: query state.
843 * @param qstate: query state.
850 * @param qstate: query state.
859 * @param qstate: query state.
868 * @param qstate: query state.
875 * @param qstate: query state.
882 * @param qstate: query state.
986 * @param qstate: query state that finished.