ISourceSearchResultInternal ISearchObjectsFactory.CreateSourceSearchResults(
     ILogSourceSearchWorkerInternal searchWorker,
     ISearchResultInternal owner,
     CancellationToken cancellation,
     Progress.IProgressAggregator progress
     )
 {
     return(new SourceSearchResult(searchWorker, owner, cancellation,
                                   progress, telemetryCollector));
 }
示例#2
0
        ISearchResultInternal GetTopSearch()
        {
            ISearchResultInternal candidate = null;

            foreach (var r in results)
            {
                if (candidate == null || r.Id > candidate.Id)
                {
                    candidate = r;
                }
            }
            return(candidate);
        }
示例#3
0
        public SourceSearchResult(
            ILogSourceSearchWorkerInternal worker,
            ISearchResultInternal parent,
            CancellationToken cancellation,
            Progress.IProgressAggregator progress,
            Telemetry.ITelemetryCollector telemetryCollector
            )
        {
            this.searchWorker       = worker;
            this.parent             = parent;
            this.telemetryCollector = telemetryCollector;
            this.messages           = new MessagesContainers.ListBasedCollection();

            this.progressSink = progress.CreateProgressSink();
            this.workerTask   = Worker(cancellation, progressSink);
            AwaitWorker();
        }