Esempio n. 1
0
 public RemoteProjectTelemetryIncrementalAnalyzerProvider(
     RemoteCallback <IRemoteProjectTelemetryService.ICallback> callback,
     RemoteServiceCallbackId callbackId
     )
 {
     _callback   = callback;
     _callbackId = callbackId;
 }
 public RemoteDesignerAttributeIncrementalAnalyzerProvider(
     RemoteCallback <IRemoteDesignerAttributeDiscoveryService.ICallback> callback,
     RemoteServiceCallbackId callbackId
     )
 {
     _callback   = callback;
     _callbackId = callbackId;
 }
 public LogService(
     RemoteCallback <IRemoteSymbolSearchUpdateService.ICallback> callback,
     RemoteServiceCallbackId callbackId
     )
 {
     _callback   = callback;
     _callbackId = callbackId;
 }
 public RemoteTodoCommentsIncrementalAnalyzerProvider(
     RemoteCallback <IRemoteTodoCommentsDiscoveryService.ICallback> callback,
     RemoteServiceCallbackId callbackId
     )
 {
     _callback   = callback;
     _callbackId = callbackId;
 }
Esempio n. 5
0
        public async ValueTask <ImmutableArray <(Checksum, object)> > GetAssetsAsync(Checksum solutionChecksum, ISet <Checksum> checksums, ISerializerService serializerService, CancellationToken cancellationToken)
        {
            // Make sure we are on the thread pool to avoid UI thread dependencies if external code uses ConfigureAwait(true)
            await TaskScheduler.Default;

            return(await RemoteCallback <ISolutionAssetProvider> .InvokeServiceAsync(
                       _client,
                       SolutionAssetProvider.ServiceDescriptor,
                       (callback, cancellationToken) => callback.InvokeAsync(
                           (proxy, pipeWriter, cancellationToken) => proxy.GetAssetsAsync(pipeWriter, solutionChecksum, checksums.ToArray(), cancellationToken),
                           (pipeReader, cancellationToken) => RemoteHostAssetSerialization.ReadDataAsync(pipeReader, solutionChecksum, checksums, serializerService, cancellationToken),
                           cancellationToken),
                       cancellationToken).ConfigureAwait(false));
        }
Esempio n. 6
0
        /// <summary>
        /// Use to perform a callback from ServiceHub process to an arbitrary brokered service hosted in the original process (usually devenv).
        /// </summary>
        public static async ValueTask <TResult> InvokeServiceAsync <TResult>(
            ServiceBrokerClient client,
            ServiceRpcDescriptor serviceDescriptor,
            Func <RemoteCallback <T>, CancellationToken, ValueTask <TResult> > invocation,
            CancellationToken cancellationToken)
        {
            ServiceBrokerClient.Rental <T> rental;
            try
            {
                rental = await client.GetProxyAsync <T>(serviceDescriptor, cancellationToken).ConfigureAwait(false);
            }
            catch (ObjectDisposedException e)
            {
                // When a connection is dropped ServiceHub's ServiceManager disposes the brokered service, which in turn disposes the ServiceBrokerClient.
                cancellationToken.ThrowIfCancellationRequested();
                throw new OperationCanceledIgnoringCallerTokenException(e);
            }

            Contract.ThrowIfNull(rental.Proxy);
            var callback = new RemoteCallback <T>(rental.Proxy);

            return(await invocation(callback, cancellationToken).ConfigureAwait(false));
        }
Esempio n. 7
0
 public RemoteDesignerAttributeIncrementalAnalyzerProvider(RemoteCallback <IDesignerAttributeListener> callback)
 {
     _callback = callback;
 }
 public RemoteTodoCommentsIncrementalAnalyzerProvider(RemoteCallback <ITodoCommentsListener> callback)
 {
     _callback = callback;
 }
Esempio n. 9
0
 public RemoteDesignerAttributeIncrementalAnalyzer(Workspace workspace, RemoteCallback <IDesignerAttributeListener> callback)
     : base(workspace)
 {
     _callback = callback;
 }
 public RemoteProjectTelemetryIncrementalAnalyzer(RemoteCallback <IProjectTelemetryListener> callback)
 => _callback = callback;
Esempio n. 11
0
 public LogService(RemoteCallback <ISymbolSearchLogService> callback)
 => _callback = callback;