You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The caller submits a pattern matching query but, instead of receiving an iterator to iterate through the results, the caller receives a UNIQUE KEY for that query.
At this point, the Query Agent begins execution of the query but NO RESULTS are forwarded to the caller yet.
At some point, the same caller that submitted the query or any other caller that happens to know the query UNIQUE KEY, submit a request for answers, thus receiving an iterator which will iterate through results of the query.
After all results have been forwarded to callers (only callers "registered" in step 3, which may or may not include the original caller from step 1.) the query ends and all callers with iterators are notified.
Important notes:
Each QueryAnswer must be forwarded to exactly ONE recipient. It means that QueryAnswer recipients receive DIFFERENT QueryAnswers. No overlapping.
QueryAnswers have importance values. In regular queries, the caller iterates trough them according to this importance value (most important first). The same criteria need to be followed here. So, for instance, if the query issued a list of QueryAnswers [q1, q2, q3, q4, ..., qn] and there are 3 "registered" callers to iterate (lets call them c1, c2 and c3), QueryAnswer objects must be delivered as follows:
c1: q1, q4, q7, ...
c2: q2, q5, q8, ...
c3: q3, q6, q9, ...
Different recipients may receive different number of QueryAnswers
The Query Agent may receive a new request for iteration in a query already being processed (as in step 3. above). In this case the new recipient should be accommodated dynamically in the list of recipients for that query and start receiving new QueryAnswers accordingly.
The text was updated successfully, but these errors were encountered:
High level algorithm:
Important notes:
The text was updated successfully, but these errors were encountered: