Example #1
0
        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();
                }
            };
        }
Example #3
0
 public HostShutDownManager(IHostStateService stateService)
 {
     _stateService = stateService;
 }
 public HostOnlineStateWriter(IHostStateService hostStateService)
 {
     _hostStateService = hostStateService;
 }