public SessionManager(GlobalConfiguration globalConfiguration, IHostStateService hostStateService, Session.Factory sessionFactory, IRelayStateService relayStateService, ISteamManager steamManager) { var relayEndPoint = new IPEndPoint(IPAddress.Any, globalConfiguration.ListenerPort); _listener = new TcpListener(relayEndPoint); _sessionFactory = sessionFactory; _relayStateService = relayStateService; _steamManager = steamManager; MaxSessions = 1000; hostStateService.StateChanged += (sender, state) => { switch (state) { case HostState.Online: { _listener.Start(OnConnectionAccepted); break; } case HostState.Off: { Stop(); break; } } }; }
public ServerInfoService(IHostStateService stateService, IServerInfoManager serverInfoManager) { _serverInfoManager = serverInfoManager; stateService.StateChanged += (service, state) => { if (state == HostState.Online) { _serverInfoManager.PostCurrentServerInfoToWebService(); } }; }
public HostShutDownManager(IHostStateService stateService) { _stateService = stateService; }
public HostOnlineStateWriter(IHostStateService hostStateService) { _hostStateService = hostStateService; }