Пример #1
0
 protected override void OnStarted()
 {
     ResourceCache.PreCache();
     _worker.Start();
     _worker2.Start();
     _workerDelta.Reset(TimeSpan.Zero);
     _worker2Delta.Reset(TimeSpan.Zero);
     _serverlistManager.Start();
 }
Пример #2
0
 public override void Start(IPEndPoint localEP)
 {
     ResourceCache.PreCache();
     base.Start(localEP);
     _chatServer.Start(Config.Instance.ChatListener);
     RelayServer.Start(Config.Instance.RelayListener);
     _worker.Start();
     _serverlistManager.Start();
 }
 public override void ChannelActive(IChannelHandlerContext context)
 {
     lock (_mutex)
     {
         _channels.Add(context.Channel);
         if (_channels.Count == 1)
         {
             _worker.Start();
         }
     }
     context.Channel.GetAttribute(ChannelAttributes.State).Set(new ChannelState());
     base.ChannelActive(context);
 }
Пример #4
0
        /// <summary>
        /// Receives and responds to LoopStart messages.
        /// </summary>
        /// <param name="request">The LoopStartRequest, containing the session data.</param>
        /// <param name="context">The Call context</param>
        /// <returns>A Task resolving with the Empty response.</returns>
        public override async Task <Empty> LoopStart(LoopStartRequest request, ServerCallContext context)
        {
            _logger.Debug("Received Loop Start Request");
            var session = new Session
            {
                LoopId = request.Session.LoopID,
                Token  = request.Session.Token
            };
            var connectionInfo = await _brokerServer.ConnectionInfo;
            await _facade.Connect(connectionInfo, session, _logger);

#pragma warning disable 4014
            // Intentional disable - Loop is intended to run indefinitely but should not delay LoopStart response.
            _loop.Start(_facade);
#pragma warning restore 4014
            return(new Empty());
        }
Пример #5
0
 public Task Start()
 {
     State = ApplicationState.Running;
     Nito.AsyncEx.AsyncContext.Run(async() =>
     {
         await logic.Initialize();
         loop.Start();
         while (State == ApplicationState.Running && output.IsOpen)
         {
             await dispatcher.DispatchPendingEvents();
             await logic.Update();
             await output.Update();
             State = await loop.Next();
         }
         await logic.Shutdown();
         output.Close();
     });
     return(Task.CompletedTask);
 }
        protected override void OnBeforeRun()
        {
            base.OnBeforeRun();

            m_gameServer = new GameServerImpl(m_path, m_matchServerUrl);

            ILoop loop = (ILoop)m_gameServer;

            loop.Start(this);

            m_gameServer.LoggedIn         += OnLoggedIn;
            m_gameServer.LoggedOff        += OnLoggedOff;
            m_gameServer.RoomsListChanged += OnRoomsListChanged;
            m_gameServer.JoinedRoom       += OnJoinRoom;
            m_gameServer.LeftRoom         += OnLeftRoom;
            m_gameServer.RoomDestroyed    += OnRoomDestoryed;
            m_gameServer.ReadyToLaunch    += OnReadyToLaunch;
            m_gameServer.Launched         += OnLaunched;
            m_gameServer.ChatMessage      += OnChatMessage;
        }
        protected override void OnTick()
        {
            base.OnTick();

            if (m_gameLoop != null)
            {
                m_gameLoop.Update();
            }
            else
            {
                if (m_matchServer != null)
                {
                    const int WaitSeconds = 5;
                    if (Time > WaitSeconds)
                    {
                        m_gameLoop = (ILoop)m_matchServer;
                        if (!m_gameLoop.Start(this))
                        {
                            m_gameLoop = null;
                        }
                    }
                }
            }
        }
Пример #8
0
 public override void Start(IPAddress address, int port)
 {
     base.Start(address, port);
     _worker.Start();
 }
Пример #9
0
 protected override void OnStarted()
 {
     ResourceCache.PreCache();
     _worker.Start();
     _serverlistManager.Start();
 }
Пример #10
0
 public void Start()
 {
     _userDisconnect = false;
     _registered     = false;
     _worker.Start();
 }
Пример #11
0
 protected override void OnStarted()
 {
     _worker.Start();
     base.OnStarted();
 }
Пример #12
0
 public IStatefullLoop <T> Start()
 {
     _loop.Start();
     return(this);
 }
Пример #13
0
 public override void Start(IPEndPoint localEP)
 {
     _worker.Start();
     base.Start(localEP);
 }
Пример #14
0
 public ActiveObject <T> Start()
 {
     _loop.Start();
     return(this);
 }