45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System.Threading;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
|
|
namespace Microsoft.AspNetCore.Sockets.Tests
|
|
{
|
|
public class TestApplicationLifetime : IApplicationLifetime
|
|
{
|
|
private readonly CancellationTokenSource _startedSource = new CancellationTokenSource();
|
|
private readonly CancellationTokenSource _stoppingSource = new CancellationTokenSource();
|
|
private readonly CancellationTokenSource _stoppedSource = new CancellationTokenSource();
|
|
|
|
public CancellationToken ApplicationStarted => _startedSource.Token;
|
|
|
|
public CancellationToken ApplicationStopping => _stoppingSource.Token;
|
|
|
|
public CancellationToken ApplicationStopped => _stoppedSource.Token;
|
|
|
|
public void StopApplication()
|
|
{
|
|
_stoppingSource.Cancel(throwOnFirstException: false);
|
|
}
|
|
|
|
public void Start()
|
|
{
|
|
_startedSource.Cancel(throwOnFirstException: false);
|
|
}
|
|
}
|
|
|
|
public class EmptyApplicationLifetime : IApplicationLifetime
|
|
{
|
|
public CancellationToken ApplicationStarted => CancellationToken.None;
|
|
|
|
public CancellationToken ApplicationStopping => CancellationToken.None;
|
|
|
|
public CancellationToken ApplicationStopped => CancellationToken.None;
|
|
|
|
public void StopApplication()
|
|
{
|
|
}
|
|
}
|
|
}
|