예제 #1
0
        /// <summary>
        /// Processes the TagQuery.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="messageContext">The message context.</param>
        private void ProcessTagQuery(RelayMessage message, MessageContext messageContext)
        {
            TagQueryResult tagQueryResult = TagQueryProcessor.Process(message.GetQueryObject <TagQuery>(), messageContext, storeContext);
            bool           compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                                               message.Id,
                                               Serializer.Serialize(tagQueryResult, compressOption),
                                               compressOption);
        }
예제 #2
0
        /// <summary>
        /// Processes the span query.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="messageContext">The message context.</param>
        private void ProcessSpanQuery(RelayMessage message, MessageContext messageContext)
        {
            SpanQueryResult spanQueryResult = SpanQueryProcessor.Instance.Process(message.GetQueryObject <SpanQuery>(),
                                                                                  messageContext, storeContext);
            bool compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                                               message.Id,
                                               Serializer.Serialize(spanQueryResult, compressOption),
                                               compressOption);
        }
예제 #3
0
        /// <summary>
        /// Process a RemoteClusteredPagedIndexQuery
        /// </summary>
        /// <param name="message">relay message</param>
        /// <param name="messageContext">message context</param>
        private void ProcessRemoteClusteredPagedIndexQuery(RelayMessage message, MessageContext messageContext)
        {
            PagedIndexQueryResult pagedIndexQueryResult = RemoteClusteredPagedIndexQueryProcessor.Instance.Process(
                message.GetQueryObject <RemoteClusteredPagedIndexQuery>(),
                messageContext,
                storeContext);

            bool compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                                               message.Id,
                                               Serializer.Serialize(pagedIndexQueryResult, compressOption),
                                               compressOption);
        }
예제 #4
0
        /// <summary>
        /// Process a RemoteClusteredSpanQuery
        /// </summary>
        /// <param name="message"></param>
        /// <param name="messageContext"></param>
        private void ProcessRemoteClusteredSpanQuery(RelayMessage message, MessageContext messageContext)
        {
            SpanQueryResult result = RemoteClusteredQueryProcessor.Instance.Process <SpanQueryResult, SpanQuery>(
                PerformanceCounterEnum.IndexLookupAvgPerRemoteClusteredSpanQuery,
                message.GetQueryObject <RemoteClusteredSpanQuery>(),
                messageContext,
                storeContext,
                SpanQueryProcessor.Instance);

            bool compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                                               message.Id,
                                               Serializer.Serialize(result, compressOption),
                                               compressOption);
        }
예제 #5
0
        /// <summary>
        /// Processes the remote clustered intersection query.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="messageContext">The message context.</param>
        private void ProcessRemoteClusteredIntersectionQuery(RelayMessage message, MessageContext messageContext)
        {
            IntersectionQueryResult intersectionQueryResult = RemoteClusteredIntersectionQueryProcessor.Process(message.GetQueryObject <RemoteClusteredIntersectionQuery>(),
                                                                                                                messageContext,
                                                                                                                storeContext);

            AttachIntersectionQueryPayload(message, intersectionQueryResult);
        }
예제 #6
0
        /// <summary>
        /// Processes the MultiIndexContainsQuery.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="messageContext">The message context.</param>
        private void ProcessMultiIndexContainsQuery(RelayMessage message, MessageContext messageContext)
        {
            MultiIndexContainsQueryResult multiIndexContainsQueryResult = MultiIndexContainsQueryProcessor.Process(message.GetQueryObject <MultiIndexContainsQuery>(),
                                                                                                                   messageContext, storeContext);
            bool compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                                               message.Id,
                                               Serializer.Serialize(multiIndexContainsQueryResult, compressOption),
                                               compressOption);
        }
        /// <summary>
        /// Process a RemoteClusteredSpanQuery
        /// </summary>
        /// <param name="message"></param>
        /// <param name="messageContext"></param>
        private void ProcessRemoteClusteredSpanQuery(RelayMessage message, MessageContext messageContext)
        {
            SpanQueryResult spanQueryResult = RemoteClusteredSpanQueryProcessor.Instance.Process(
                message.GetQueryObject<RemoteClusteredSpanQuery>(),
                messageContext, 
                storeContext);

            bool compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                message.Id,
                Serializer.Serialize(spanQueryResult, compressOption),
                compressOption);
        }
 /// <summary>
 /// Processes the paged index query.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="messageContext">The message context.</param>
 private void ProcessPagedIndexQuery(RelayMessage message, MessageContext messageContext)
 {          
     PagedIndexQueryResult pagedIndexQueryResult = PagedQueryProcessor.Instance.Process(message.GetQueryObject<PagedIndexQuery>(), 
         messageContext, storeContext);
     bool compressOption = storeContext.GetCompressOption(message.TypeId);
     message.Payload = new RelayPayload(message.TypeId, 
         message.Id, 
         Serializer.Serialize(pagedIndexQueryResult, compressOption), 
         compressOption);
 }
 /// <summary>
 /// Processes the contains index query.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="messageContext">The message context.</param>
 private void ProcessContainsIndexQuery(RelayMessage message, MessageContext messageContext)
 {
     ContainsIndexQueryResult containsIndexQueryResult = ContainsQueryProcessor.Process(message.GetQueryObject<ContainsIndexQuery>(), 
         messageContext, storeContext);
     bool compressOption = storeContext.GetCompressOption(message.TypeId);
     message.Payload = new RelayPayload(message.TypeId, 
         message.Id, 
         Serializer.Serialize(containsIndexQueryResult, compressOption), 
         compressOption);
 }
 /// <summary>
 /// Processes the first last query.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="messageContext">The message context.</param>
 private void ProcessFirstLastQuery(RelayMessage message, MessageContext messageContext)
 {
     FirstLastQueryResult firstLastQueryResult = FirstLastQueryProcessor.Process(message.GetQueryObject<FirstLastQuery>(), 
         messageContext, storeContext);
     bool compressOption = storeContext.GetCompressOption(message.TypeId);
     message.Payload = new RelayPayload(message.TypeId,
         message.Id,
         Serializer.Serialize(firstLastQueryResult, compressOption),
         compressOption);
 }
 /// <summary>
 /// Processes the remote clustered intersection query.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="messageContext">The message context.</param>
 private void ProcessRemoteClusteredIntersectionQuery(RelayMessage message, MessageContext messageContext)
 {
     IntersectionQueryResult intersectionQueryResult = RemoteClusteredIntersectionQueryProcessor.Process(message.GetQueryObject<RemoteClusteredIntersectionQuery>(),
         messageContext,
         storeContext);
     AttachIntersectionQueryPayload(message, intersectionQueryResult);
 }