public ValueTask <Solution> GetSolutionAsync(ServiceBrokerClient client, PinnedSolutionInfo solutionInfo, CancellationToken cancellationToken) { var assetSource = new SolutionAssetSource(client); var workspace = GetWorkspace(); var assetProvider = workspace.CreateAssetProvider(solutionInfo, SolutionAssetCache, assetSource); return(workspace.GetSolutionAsync(assetProvider, solutionInfo.SolutionChecksum, solutionInfo.FromPrimaryBranch, solutionInfo.WorkspaceVersion, solutionInfo.ProjectId, cancellationToken)); }
public async ValueTask <Solution> GetSolutionAsync(ServiceBrokerClient client, Checksum solutionChecksum, CancellationToken cancellationToken) { var assetSource = new SolutionAssetSource(client); var workspace = GetWorkspace(); var assetProvider = workspace.CreateAssetProvider(solutionChecksum, SolutionAssetCache, assetSource); var(solution, _) = await workspace.RunWithSolutionAsync( assetProvider, solutionChecksum, static _ => ValueTaskFactory.FromResult(false), cancellationToken).ConfigureAwait(false); return(solution); }
public async ValueTask <T> RunServiceAsync <T>( ServiceBrokerClient client, Checksum solutionChecksum, Func <Solution, ValueTask <T> > implementation, CancellationToken cancellationToken) { var assetSource = new SolutionAssetSource(client); var workspace = GetWorkspace(); var assetProvider = workspace.CreateAssetProvider(solutionChecksum, SolutionAssetCache, assetSource); var(_, result) = await workspace.RunWithSolutionAsync( assetProvider, solutionChecksum, implementation, cancellationToken).ConfigureAwait(false); return(result); }