예제 #1
0
        public RemoteSymbolSearchUpdateEngine(
            Stream stream, IServiceProvider serviceProvider)
            : base(serviceProvider, stream)
        {
            _updateEngine = SymbolSearchUpdateEngineFactory.CreateEngineInProcess(logService: this, progressService: this);

            StartService();
        }
예제 #2
0
 private async Task <ISymbolSearchUpdateEngine> GetEngineAsync(CancellationToken cancellationToken)
 {
     using (await _gate.DisposableWaitAsync(cancellationToken).ConfigureAwait(false))
     {
         return(_lazyUpdateEngine ??= await SymbolSearchUpdateEngineFactory.CreateEngineAsync(
                    _workspace, _logService, _progressService, cancellationToken).ConfigureAwait(false));
     }
 }
        private async Task <ISymbolSearchUpdateEngine> GetEngine(CancellationToken cancellationToken)
        {
            using (await _gate.DisposableWaitAsync(cancellationToken).ConfigureAwait(false))
            {
                if (_updateEngine == null)
                {
                    _updateEngine = await SymbolSearchUpdateEngineFactory.CreateEngineAsync(
                        _workspace, _logService, cancellationToken).ConfigureAwait(false);
                }

                return(_updateEngine);
            }
        }