6 instantiations of ResourceEvent
Aspire.Hosting (4)
ApplicationModel\ResourceNotificationService.cs (4)
489resourceEvent = new ResourceEvent(state.Resource, resourceId, snapshot); 512resourceEvent = new ResourceEvent(m.Value.Resource, m.Key, m.Value.LastSnapshot); 550yield return new ResourceEvent(state.Value.Resource, resourceId, snapshot); 610OnResourceUpdated?.Invoke(new ResourceEvent(resource, resourceId, newState));
Aspire.Hosting.DevTunnels (1)
DevTunnelResourceBuilderExtensions.cs (1)
677await eventing.PublishAsync<ResourceStoppedEvent>(new(portResource, e.Services, new(portResource, portResource.Name, stoppedSnapshot!)), ct).ConfigureAwait(false);
Aspire.Hosting.Tests (1)
Eventing\DistributedApplicationBuilderEventingTests.cs (1)
301var testResourceEvent = new ResourceEvent(resource.Resource, "test-resource", testSnapshot);
120 references to ResourceEvent
Aspire.Hosting (41)
ApplicationModel\ResourceCommandService.cs (1)
47if (!_resourceNotificationService.TryGetCurrentState(resourceId, out var resourceEvent))
ApplicationModel\ResourceNotificationService.cs (21)
30private Action<ResourceEvent>? OnResourceUpdated { get; set; } 129await foreach (var resourceEvent in WatchAsync(watchToken).ConfigureAwait(false)) 185public async Task<ResourceEvent> WaitForResourceHealthyAsync(string resourceName, CancellationToken cancellationToken = default) 218public async Task<ResourceEvent> WaitForResourceHealthyAsync(string resourceName, WaitBehavior waitBehavior, CancellationToken cancellationToken = default) 221var resourceEvent = await WaitForResourceCoreAsync(resourceName, re => ShouldYield(waitBehavior, re.Snapshot), cancellationToken: cancellationToken).ConfigureAwait(false); 274var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsKnownTerminalState(re.Snapshot), cancellationToken: cancellationToken).ConfigureAwait(false); 310Func<ILogger, string, string, ResourceEvent, Task> postRunningAction, CancellationToken cancellationToken) 329var resourceEvent = await WaitForResourceCoreAsync(dependency.Name, re => re.ResourceId == resourceId && IsContinuableState(waitBehavior, re.Snapshot), cancellationToken: cancellationToken).ConfigureAwait(false); 432/// <param name="predicate">A predicate which is evaluated for each <see cref="ResourceEvent"/> for the selected resource.</param> 437public async Task<ResourceEvent> WaitForResourceAsync(string resourceName, Func<ResourceEvent, bool> predicate, CancellationToken cancellationToken = default) 440var resourceEvent = await WaitForResourceCoreAsync(resourceName, predicate, cancellationToken).ConfigureAwait(false); 446private async Task<ResourceEvent> WaitForResourceCoreAsync(string resourceName, Func<ResourceEvent, bool> predicate, CancellationToken cancellationToken = default) 450await foreach (var resourceEvent in WatchAsync(watchToken).ConfigureAwait(false)) 480/// <param name="resourceEvent">When this method returns, contains the <see cref="ResourceEvent"/> for the specified resource id, if found; otherwise, <see langword="null"/>.</param> 482public bool TryGetCurrentState(string resourceId, [NotNullWhen(true)] out ResourceEvent? resourceEvent) 524public async IAsyncEnumerable<ResourceEvent> WatchAsync([EnumeratorCancellation] CancellationToken cancellationToken = default) 526var channel = Channel.CreateUnbounded<ResourceEvent>(); 528void WriteToChannel(ResourceEvent resourceEvent) => 556await foreach (var item in channel.Reader.ReadAllAsync(cancellationToken).ConfigureAwait(false))
ApplicationModel\ResourceStoppedEvent.cs (2)
17public class ResourceStoppedEvent(IResource resource, IServiceProvider services, ResourceEvent resourceEvent) : IDistributedApplicationResourceEvent 30public ResourceEvent ResourceEvent { get; } = resourceEvent;
Backchannel\AppHostRpcTarget.cs (1)
73await foreach (var resourceEvent in resourceEvents.WithCancellation(cancellationToken).ConfigureAwait(false))
Dashboard\DashboardEventHandlers.cs (1)
673await foreach (var notification in resourceNotificationService.WatchAsync(cancellationToken).ConfigureAwait(false))
Dashboard\DashboardServiceData.cs (1)
68await foreach (var @event in resourceNotificationService.WatchAsync().WithCancellation(cancellationToken).ConfigureAwait(false))
Devcontainers\Codespaces\CodespacesResourceUrlRewriterService.cs (1)
28await foreach (var resourceEvent in resourceEvents.ConfigureAwait(false))
Exec\ExecResourceManager.cs (1)
127if (!_resourceNotificationService.TryGetCurrentState(dcpExecResourceName, out var resourceEvent))
Health\ResourceHealthCheckService.cs (8)
29await foreach (var resourceEvent in resourceEvents.ConfigureAwait(false)) 128ResourceEvent? currentEvent = null; 317public ResourceMonitorState(ILogger logger, ResourceEvent initialEvent, CancellationToken serviceStoppingToken) 330public ResourceEvent LatestEvent { get; private set; } 338public void SetLatestEvent(ResourceEvent resourceEvent) 354internal async Task<bool> DelayAsync(ResourceEvent? currentEvent, TimeSpan delay, CancellationToken cancellationToken) 377private static bool ShouldInterrupt(ResourceEvent currentEvent, ResourceEvent previousEvent)
Orchestrator\ApplicationOrchestrator.cs (2)
315if (_notificationService.TryGetCurrentState(context.DcpResourceName, out var previousResourceEvent)) 336if (_notificationService.TryGetCurrentState(context.DcpResourceName, out var currentResourceEvent))
ResourceBuilderExtensions.cs (1)
1932await foreach (var resourceEvent in rns.WatchAsync(ct).WithCancellation(ct))
ResourceLoggerForwarderService.cs (1)
42await foreach (var resourceEvent in resourceNotificationService.WatchAsync(cancellationToken).ConfigureAwait(false))
Aspire.Hosting.Azure.Tests (1)
AzureBicepProvisionerTests.cs (1)
64await foreach (var resourceEvent in rns.WatchAsync(cts.Token).WithCancellation(cts.Token))
Aspire.Hosting.Containers.Tests (1)
DockerSocketBindMountTests.cs (1)
41var state = await rns.WaitForResourceAsync(
Aspire.Hosting.MySql.Tests (1)
MySqlFunctionalTests.cs (1)
599var resourceEvent = await rns.WaitForResourceAsync(resourceName, (evt) =>
Aspire.Hosting.PostgreSQL.Tests (1)
PostgresFunctionalTests.cs (1)
578var resourceEvent = await rns.WaitForResourceAsync(resourceName, (evt) =>
Aspire.Hosting.Testing.Tests (1)
tests\Aspire.Hosting.Tests\Utils\LoggerNotificationExtensions.cs (1)
132await foreach (var resourceEvent in app.ResourceNotifications.WatchAsync(cancellationTokenSource.Token).ConfigureAwait(false))
Aspire.Hosting.Tests (73)
Codespaces\CodespacesUrlRewriterTests.cs (1)
79var resourceEvent = await app.ResourceNotifications.WaitForResourceAsync(
DistributedApplicationTests.cs (13)
139var resourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 183var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 184var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 205var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 213var dependentResourceRunningEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 258var notStartedResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.NotStarted).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 259var dependentResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 279var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 286var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 334ResourceEvent? notStartedResourceEvent = null; 335ResourceEvent? dependentResourceEvent = null; 362var runningResourceEvent = await rns.WaitForResourceAsync(notStartedResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan); 369var dependentRunningResourceEvent = await rns.WaitForResourceAsync(dependentResourceName, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.ExtraLongTimeoutTimeSpan);
Eventing\DistributedApplicationBuilderEventingTests.cs (1)
301var testResourceEvent = new ResourceEvent(resource.Resource, "test-resource", testSnapshot);
ExternalServiceTests.cs (3)
297var resourceEvent = await app.ResourceNotifications.WaitForResourceAsync( 324var resourceEvent = await app.ResourceNotifications.WaitForResourceAsync( 351var resourceEvent = await app.ResourceNotifications.WaitForResourceAsync(
Health\ResourceHealthCheckServiceTests.cs (12)
37var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 45var healthyEvent = await app.ResourceNotifications.WaitForResourceHealthyAsync("resource").DefaultTimeout(); 77var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 85var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 120var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 128var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", 586var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 595var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 602var healthyEvent = await app.ResourceNotifications.WaitForResourceHealthyAsync("resource").DefaultTimeout(); 632var startingEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Starting).DefaultTimeout(); 640var runningEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(); 648var unhealthyEvent = await app.ResourceNotifications.WaitForResourceAsync("resource", e => e.Snapshot.HealthStatus == HealthStatus.Unhealthy).DefaultTimeout();
Orchestrator\ApplicationOrchestratorTests.cs (15)
44await foreach (var item in resourceNotificationService.WatchAsync()) 91await foreach (var item in resourceNotificationService.WatchAsync()) 189await foreach (var item in resourceNotificationService.WatchAsync()) 254await foreach (var item in resourceNotificationService.WatchAsync()) 305await foreach (var item in resourceNotificationService.WatchAsync()) 420await foreach (var item in resourceNotificationService.WatchAsync()) 604var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.Snapshot.State?.Text : null; 605var childContainerState = resourceNotificationService.TryGetCurrentState(childContainer.Resource.Name, out var childContainerEvent) ? childContainerEvent.Snapshot.State?.Text : null; 606var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 650var parentState = resourceNotificationService.TryGetCurrentState("parent-container-dcp", out var parentEvent) ? parentEvent.Snapshot.State?.Text : null; 651var childProjectState = resourceNotificationService.TryGetCurrentState(childProject.Resource.Name, out var childProjectEvent) ? childProjectEvent.Snapshot.State?.Text : null; 652var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 690await foreach (var item in resourceNotificationService.WatchAsync()) 746await foreach (var item in resourceNotificationService.WatchAsync()) 799await foreach (var item in resourceNotificationService.WatchAsync())
Orchestrator\ParameterProcessorTests.cs (1)
83await foreach (var resourceEvent in notificationService.WatchAsync().ConfigureAwait(false))
ResourceNotificationTests.cs (19)
50async Task<List<ResourceEvent>> GetValuesAsync(CancellationToken cancellationToken) 52var values = new List<ResourceEvent>(); 54await foreach (var item in notificationService.WatchAsync(cancellationToken)) 103async Task<List<ResourceEvent>> GetValuesAsync(CancellationToken cancellation) 105var values = new List<ResourceEvent>(); 107await foreach (var item in notificationService.WatchAsync(cancellation)) 445async Task<List<ResourceEvent>> GetValuesAsync(CancellationToken cancellationToken) 447var values = new List<ResourceEvent>(); 449await foreach (var item in notificationService.WatchAsync(cancellationToken)) 483var firstEvent = values[0]; 488var secondEvent = values[1]; 505async Task<ResourceEvent> GetFirstValueAsync(CancellationToken cancellationToken) 507await foreach (var item in notificationService.WatchAsync(cancellationToken)) 523var value = await enumerableTask.DefaultTimeout(); 541async Task<ResourceEvent> GetFirstValueAsync(CancellationToken cancellationToken) 543await foreach (var item in notificationService.WatchAsync(cancellationToken)) 559var value = await enumerableTask.DefaultTimeout(); 598var resourceEvent = await waitTask.DefaultTimeout(); 667var resourceEvent = await waitTask.DefaultTimeout();
Utils\LoggerNotificationExtensions.cs (1)
132await foreach (var resourceEvent in app.ResourceNotifications.WatchAsync(cancellationTokenSource.Token).ConfigureAwait(false))
WithHttpCommandTests.cs (2)
384await foreach (var resourceEvent in app.ResourceNotifications.WatchAsync(watchCts.Token).WithCancellation(watchCts.Token)) 454await foreach (var resourceEvent in app.ResourceNotifications.WatchAsync(watchCts.Token).WithCancellation(watchCts.Token))
WithUrlsTests.cs (5)
331await foreach (var notification in rns.WatchAsync(cts.Token).WithCancellation(cts.Token)) 367await foreach (var notification in rns.WatchAsync(cts.Token).WithCancellation(cts.Token)) 411await foreach (var notification in rns.WatchAsync(cts.Token).WithCancellation(cts.Token)) 500await foreach (var notification in rns.WatchAsync(cts.Token).WithCancellation(cts.Token)) 621await foreach (var notification in rns.WatchAsync(cts.Token).WithCancellation(cts.Token))
Aspire.Playground.Tests (1)
tests\Aspire.Hosting.Tests\Utils\LoggerNotificationExtensions.cs (1)
132await foreach (var resourceEvent in app.ResourceNotifications.WatchAsync(cancellationTokenSource.Token).ConfigureAwait(false))