예제 #1
0
 private void RaiseBufferedRequest()
 {
     if (BufferedRequest != null)
     {
         BufferedRequest.Invoke(this, EventArgs.Empty);
     }
 }
예제 #2
0
        public Task <IExecutionResult> ExecuteAsync(IReadOnlyQueryRequest request)
        {
            var bufferRequest = new BufferedRequest(request);

            lock (_sync)
            {
                _bufferedRequests.Add(bufferRequest);
                _bufferSize++;
                RaiseBufferedRequest();
            }

            return(bufferRequest.Promise.Task);
        }
예제 #3
0
        private static void MergeRequest(
            BufferedRequest bufferedRequest,
            MergeQueryRewriter rewriter,
            IDictionary <string, object> variableValues,
            NameString requestPrefix)
        {
            MergeVariables(
                bufferedRequest.Request.VariableValues,
                variableValues,
                requestPrefix);

            bool isAutoGenerated = bufferedRequest.Request.Properties != null &&
                                   bufferedRequest.Request.Properties.ContainsKey(
                WellKnownProperties.IsAutoGenerated);

            bufferedRequest.Aliases = rewriter.AddQuery(
                bufferedRequest.Document,
                requestPrefix,
                isAutoGenerated);
        }