Lines Matching full:query

2  * services/mesh.h - deal with mesh of query states and handle events for that.
40 * query states. This mesh is supposed to be thread-specific.
41 * It consists of query states (per qname, qtype, qclass) and connections
42 * between query states and the super and subquery states, and replies to
80 * Mesh of query states
136 /** backup of query if other operations recurse and need the
140 /** double linked list of the run-to-completion query states.
141 * These are query states with a reply */
146 /** double linked list of the query states that can be jostled out
147 * by new queries if too old. These are query states with a reply */
161 * A mesh query state
174 /** the query state. Note that the qinfo and query_flags
221 /** the query reply destination, packet buffer and where to send. */
223 /** edns data from query */
227 /** id of query, in network byteorder. */
229 /** flags of query, for reply flags */
231 /** qname from this query. len same as mesh qinfo. */
235 /** send query to this http2 stream, if set */
253 /** edns data from query */
255 /** id of query, in network byteorder. */
257 /** flags of query, for reply flags */
281 * Delete mesh, and all query states and replies in it.
287 * New query incoming from clients. Create new query state if needed, and
289 * Will run the mesh area queries to process if a new query state is created.
292 * @param qinfo: query from client.
293 * @param cinfo: additional information associated with the query client.
295 * can be assumed to be valid and unchanged until the query processing is
297 * @param qflags: flags from client query.
298 * @param edns: edns data from client query.
300 * @param qid: query id to reply with.
310 * New query with callback. Create new query state if needed, and
312 * Will run the mesh area queries to process if a new query state is created.
315 * @param qinfo: query from client.
316 * @param qflags: flags from client query.
317 * @param edns: edns data from client query.
319 * @param qid: query id to reply with.
331 * New prefetch message. Create new query state if needed.
332 * Will run the mesh area queries to process if a new query state is created.
335 * @param qinfo: query from client.
336 * @param qflags: flags from client query.
349 * Handle new event from the wire. A serviced query has returned.
350 * The query state will be made runnable, and the mesh_area will process
351 * query states until processing is complete.
353 * @param mesh: the query mesh.
354 * @param e: outbound entry, with query state to run and reply pointer.
365 * Remove all sub-query references from this query state.
379 * Pass if it is priming query or not.
383 * so that the next run of the query with this module is successful.
388 * @param qinfo: what to query for (copied).
390 * @param prime: if it is a (stub) priming query.
391 * @param valrec: if it is a validation recursion query (lookup of key, DS).
400 * Add detached query.
405 * Pass if it is priming query or not.
409 * so that the next run of the query with this module is successful.
415 * @param qinfo: what to query for (copied).
417 * @param prime: if it is a (stub) priming query.
418 * @param valrec: if it is a validation recursion query (lookup of key, DS).
429 * Query state is done, send messages to reply entries.
435 * The module must handle the super query states itself as well.
446 * Call inform_super for the super query states that are interested in the
447 * results from this query state. These can then be changed for error
450 * The super query states become runnable with event module_event_pass,
468 * Create and initialize a new mesh state and its query state
471 * @param qinfo: query info that the mesh is for.
472 * @param cinfo: control info for the query client (can be NULL).
473 * @param qflags: flags for query (RD / CD flag).
474 * @param prime: if true, it is a priming query, set is_priming on mesh state.
475 * @param valrec: if true, it is a validation recursion query, and sets
491 * Cleanup a mesh state and its query state. Does not do rbtree or
509 * actions that apply to the query result.
510 * @param qinfo: what query
512 * @param prime: if it is a priming query.
513 * @param valrec: if it is a validation-recursion query.
537 * @param qflags: original query flags.
538 * @param qinfo: original query info.
554 * @param qflags: original query flags.
604 * @param qinfo: query info for dependency.
605 * @param flags: query flags of dependency.
606 * @param prime: if dependency is a priming query or not.
607 * @param valrec: if it is a validation recursion query (lookup of key, DS).
625 * @param qbuf: query buffer to save if recursion is invoked to make space.
627 * can result in an overwrite of the incoming query:
629 * udp query is sent - on error callback - callback sends SERVFAIL reply
675 * @param lookup_qinfo: the query info to look for in the cache.
687 * @return true if the query list is full.
696 * @param mstate: mesh state for query that has serve_expired_data.