2024-03-04 13:19:32 +00:00
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using Supercell.GUT.Server.Network;
|
2024-03-05 10:37:18 +00:00
|
|
|
|
using Supercell.GUT.Titan.Logic.Debug;
|
2024-03-04 13:19:32 +00:00
|
|
|
|
|
|
|
|
|
namespace Supercell.GUT.Server;
|
|
|
|
|
internal class GUTServer : IHostedService
|
|
|
|
|
{
|
|
|
|
|
private readonly IServerGateway _gateway;
|
|
|
|
|
|
|
|
|
|
public GUTServer(IServerGateway serverGateway, IDebuggerListener debuggerListener)
|
|
|
|
|
{
|
|
|
|
|
_gateway = serverGateway;
|
|
|
|
|
|
|
|
|
|
Debugger.SetListener(debuggerListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Task StartAsync(CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
_gateway.Start();
|
|
|
|
|
|
|
|
|
|
return Task.CompletedTask;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task StopAsync(CancellationToken cancellationToken)
|
|
|
|
|
{
|
|
|
|
|
await _gateway.ShutdownAsync();
|
|
|
|
|
}
|
|
|
|
|
}
|