Package l2p.loginserver

Source Code of l2p.loginserver.Watchdog

package l2p.loginserver;

import java.util.logging.Logger;

import l2p.Config;
import l2p.Server;
import l2p.loginserver.gameservercon.AttGS;
import l2p.loginserver.gameservercon.GameServerInfo;

public class Watchdog extends Thread
{
  private static volatile boolean _inited = false;
  private static Logger _log = Logger.getLogger(Watchdog.class.getName());

  public static void init()
  {
    if(!_inited && !Config.COMBO_MODE)
    {
      _inited = true;
      new Watchdog().start();
      _log.info("Login watchdog thread started");
    }
  }

  @Override
  public void run()
  {
    try
    {
      Thread.sleep(30000); // начинаем не сразу
    }
    catch(InterruptedException e)
    {
      e.printStackTrace();
    }
    AttGS gs;
    while(true)
    {
      for(GameServerInfo gsi : GameServerTable.getInstance().getRegisteredGameServers().values())
      {
        if((gs = gsi.getGameServer()) != null && gs.isAuthed() && gs.isPingTimedOut())
        {
          Server.exit(2, "Watchdog: server " + gsi.getId() + " not responding, issuing shutdown...");
        }
      }
      try
      {
        Thread.sleep(100);
      }
      catch(InterruptedException e)
      {
        e.printStackTrace();
      }
    }
  }
}
TOP

Related Classes of l2p.loginserver.Watchdog

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.