using LumaTunnel.Server.Core.Runtime; using XFEExtension.NetCore.CyberComm; using XFEExtension.NetCore.ServerInteractive.Implements.CoreService; namespace LumaTunnel.Server.Core.Services; public sealed class TunnelGatewayOriginalService : ServerCoreOriginalServiceBase { public override void ServerStarted(object? sender, EventArgs e) { var runtime = ServerRuntime.Current; runtime.TunnelConnections ??= new TunnelConnectionManager(runtime); } public override void ClientConnected(object? sender, CyberCommServerEventArgs e) => ServerRuntime.Current.TunnelConnections?.TryAccept(e); public override void MessageReceived(object? sender, CyberCommServerEventArgs e) => ServerRuntime.Current.TunnelConnections?.Receive(e); public override void ConnectionClosed(object? sender, CyberCommServerEventArgs e) => ServerRuntime.Current.TunnelConnections?.Closed(e); }