ThreadPool manager rework.
This commit is contained in:
@@ -385,7 +385,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
if ((race != player.getRace()) || (((race == Race.HUMAN) || (race == Race.ORC)) && (isMage != player.isMageClass())))
|
||||
{
|
||||
TransformData.getInstance().transformPlayer(105, player);
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new Untransform(player), 200);
|
||||
ThreadPoolManager.schedule(new Untransform(player), 200);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -493,7 +493,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
player.broadcastUserInfo();
|
||||
// Transform-untransorm player quickly to force the client to reload the character textures
|
||||
TransformData.getInstance().transformPlayer(105, player);
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new Untransform(player), 200);
|
||||
ThreadPoolManager.schedule(new Untransform(player), 200);
|
||||
|
||||
}
|
||||
else if (command.startsWith("admin_setcolor"))
|
||||
|
||||
@@ -109,7 +109,7 @@ public class AdminMonsterRace implements IAdminCommandHandler
|
||||
activeChar.sendPacket(spk);
|
||||
activeChar.broadcastPacket(spk);
|
||||
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new RunRace(codes, activeChar), 5000);
|
||||
ThreadPoolManager.schedule(new RunRace(codes, activeChar), 5000);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -139,7 +139,7 @@ public class AdminMonsterRace implements IAdminCommandHandler
|
||||
final MonRaceInfo spk = new MonRaceInfo(codes[2][0], codes[2][1], MonsterRace.getInstance().getMonsters(), MonsterRace.getInstance().getSpeeds());
|
||||
activeChar.sendPacket(spk);
|
||||
activeChar.broadcastPacket(spk);
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new RunEnd(activeChar), 30000);
|
||||
ThreadPoolManager.schedule(new RunEnd(activeChar), 30000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -553,7 +553,7 @@ public final class AdminPForge implements IAdminCommandHandler
|
||||
p.setBuffers(bb, activeChar.getClient(), new NioNetStringBuffer(2000));
|
||||
if (p.read())
|
||||
{
|
||||
ThreadPoolManager.getInstance().executePacket(p);
|
||||
ThreadPoolManager.execute(p);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,15 +20,14 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.GameServer;
|
||||
import com.l2jmobius.gameserver.GameTimeController;
|
||||
import com.l2jmobius.gameserver.ThreadPoolManager;
|
||||
import com.l2jmobius.gameserver.cache.HtmCache;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.AdminData;
|
||||
import com.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import com.l2jmobius.gameserver.model.L2World;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
@@ -71,14 +70,6 @@ public class AdminServerInfo implements IAdminCommandHandler
|
||||
html.replace("%usedMem%", (RunTime.maxMemory() / mb) - (((RunTime.maxMemory() - RunTime.totalMemory()) + RunTime.freeMemory()) / mb));
|
||||
html.replace("%freeMem%", ((RunTime.maxMemory() - RunTime.totalMemory()) + RunTime.freeMemory()) / mb);
|
||||
html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576);
|
||||
html.replace("%theardInfoGen%", buildTheardInfo("GENERAL"));
|
||||
html.replace("%theardInfoEff%", buildTheardInfo("EFFECTS"));
|
||||
html.replace("%theardInfoAi%", buildTheardInfo("AI"));
|
||||
html.replace("%theardInfoEvent%", buildTheardInfo("EVENT"));
|
||||
html.replace("%theardInfoPack%", buildTheardInfo("PACKETS"));
|
||||
html.replace("%theardInfoIOPack%", buildTheardInfo("IOPACKETS"));
|
||||
html.replace("%theardInfoGenTask%", buildTheardInfo("GENERAL_TASKS"));
|
||||
html.replace("%theardInfoEvnTask%", buildTheardInfo("EVENT_TASKS"));
|
||||
activeChar.sendPacket(html);
|
||||
}
|
||||
return true;
|
||||
@@ -92,25 +83,7 @@ public class AdminServerInfo implements IAdminCommandHandler
|
||||
time -= TimeUnit.DAYS.toMillis(days);
|
||||
final long hours = TimeUnit.MILLISECONDS.toHours(time);
|
||||
time -= TimeUnit.HOURS.toMillis(hours);
|
||||
final long minutes = TimeUnit.MILLISECONDS.toMinutes(time);
|
||||
|
||||
return days + " Days, " + hours + " Hours, " + minutes + " Minutes";
|
||||
}
|
||||
|
||||
private String buildTheardInfo(String category)
|
||||
{
|
||||
final StringBuilder tb = new StringBuilder();
|
||||
|
||||
tb.append("<table width=\"270\" border=\"0\" bgcolor=\"444444\">");
|
||||
for (Entry<String, Object> info : ThreadPoolManager.getInstance().getStats(category).getSet().entrySet())
|
||||
{
|
||||
tb.append("<tr>");
|
||||
tb.append("<td>" + info.getKey() + ":</td>");
|
||||
tb.append("<td><font color=\"00FF00\">" + info.getValue() + "</font></td>");
|
||||
tb.append("</tr>");
|
||||
}
|
||||
tb.append("</table>");
|
||||
return tb.toString();
|
||||
return days + " Days, " + hours + " Hours, " + TimeUnit.MILLISECONDS.toMinutes(time) + " Minutes";
|
||||
}
|
||||
|
||||
private int getPlayersCount(String type)
|
||||
@@ -119,7 +92,7 @@ public class AdminServerInfo implements IAdminCommandHandler
|
||||
{
|
||||
case "ALL":
|
||||
{
|
||||
return L2World.getInstance().getAllPlayersCount();
|
||||
return L2World.getInstance().getPlayers().size();
|
||||
}
|
||||
case "OFF_TRADE":
|
||||
{
|
||||
@@ -138,7 +111,7 @@ public class AdminServerInfo implements IAdminCommandHandler
|
||||
case "GM":
|
||||
{
|
||||
int onlineGMcount = 0;
|
||||
for (L2PcInstance gm : L2World.getInstance().getAllGMs())
|
||||
for (L2PcInstance gm : AdminData.getInstance().getAllGms(true))
|
||||
{
|
||||
if ((gm != null) && gm.isOnline() && (gm.getClient() != null) && !gm.getClient().isDetached())
|
||||
{
|
||||
@@ -153,7 +126,7 @@ public class AdminServerInfo implements IAdminCommandHandler
|
||||
|
||||
for (L2PcInstance onlinePlayer : L2World.getInstance().getPlayers())
|
||||
{
|
||||
if (((onlinePlayer != null) && (onlinePlayer.getClient() != null)) && !onlinePlayer.getClient().isDetached())
|
||||
if ((onlinePlayer != null) && (onlinePlayer.getClient() != null) && !onlinePlayer.getClient().isDetached())
|
||||
{
|
||||
realPlayers.add(onlinePlayer.getIPAddress());
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public class AdminTest implements IAdminCommandHandler
|
||||
{
|
||||
if (command.equals("admin_stats"))
|
||||
{
|
||||
for (String line : ThreadPoolManager.getInstance().getStats())
|
||||
for (String line : ThreadPoolManager.getStats())
|
||||
{
|
||||
activeChar.sendMessage(line);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ public final class ServitorShare extends AbstractEffect
|
||||
final L2Character effected = info.getEffected().isPlayer() ? info.getEffected().getSummon() : info.getEffected().getActingPlayer();
|
||||
if (effected != null)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleEffect(new ScheduledEffectExitTask(effected, info.getSkill().getId()), 100);
|
||||
ThreadPoolManager.schedule(new ScheduledEffectExitTask(effected, info.getSkill().getId()), 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ public class JailHandler implements IPunishmentHandler
|
||||
OlympiadManager.getInstance().removeDisconnectedCompetitor(player);
|
||||
}
|
||||
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new TeleportTask(player, L2JailZone.getLocationIn()), 2000);
|
||||
ThreadPoolManager.schedule(new TeleportTask(player, L2JailZone.getLocationIn()), 2000);
|
||||
|
||||
// Open a Html message to inform the player
|
||||
final NpcHtmlMessage msg = new NpcHtmlMessage();
|
||||
@@ -204,7 +204,7 @@ public class JailHandler implements IPunishmentHandler
|
||||
*/
|
||||
private static void removeFromPlayer(L2PcInstance player)
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new TeleportTask(player, L2JailZone.getLocationOut()), 2000);
|
||||
ThreadPoolManager.schedule(new TeleportTask(player, L2JailZone.getLocationOut()), 2000);
|
||||
|
||||
// Open a Html message to inform the player
|
||||
final NpcHtmlMessage msg = new NpcHtmlMessage();
|
||||
|
||||
@@ -109,54 +109,6 @@ public class DebugHandler implements ITelnetHandler
|
||||
targetPlayer.sendPacket(sp);
|
||||
_print.println("Packet sent to player " + charName);
|
||||
}
|
||||
else if (dbg.equals("PacketTP"))
|
||||
{
|
||||
final String str = ThreadPoolManager.getInstance().getPacketStats();
|
||||
_print.println(str);
|
||||
int i = 0;
|
||||
File f = new File("./log/StackTrace-PacketTP-" + i + ".txt");
|
||||
while (f.exists())
|
||||
{
|
||||
i++;
|
||||
f = new File("./log/StackTrace-PacketTP-" + i + ".txt");
|
||||
}
|
||||
f.getParentFile().mkdirs();
|
||||
fos = new FileOutputStream(f);
|
||||
out = new OutputStreamWriter(fos, "UTF-8");
|
||||
out.write(str);
|
||||
}
|
||||
else if (dbg.equals("IOPacketTP"))
|
||||
{
|
||||
final String str = ThreadPoolManager.getInstance().getIOPacketStats();
|
||||
_print.println(str);
|
||||
int i = 0;
|
||||
File f = new File("./log/StackTrace-IOPacketTP-" + i + ".txt");
|
||||
while (f.exists())
|
||||
{
|
||||
i++;
|
||||
f = new File("./log/StackTrace-IOPacketTP-" + i + ".txt");
|
||||
}
|
||||
f.getParentFile().mkdirs();
|
||||
fos = new FileOutputStream(f);
|
||||
out = new OutputStreamWriter(fos, "UTF-8");
|
||||
out.write(str);
|
||||
}
|
||||
else if (dbg.equals("GeneralTP"))
|
||||
{
|
||||
final String str = ThreadPoolManager.getInstance().getGeneralStats();
|
||||
_print.println(str);
|
||||
int i = 0;
|
||||
File f = new File("./log/StackTrace-GeneralTP-" + i + ".txt");
|
||||
while (f.exists())
|
||||
{
|
||||
i++;
|
||||
f = new File("./log/StackTrace-GeneralTP-" + i + ".txt");
|
||||
}
|
||||
f.getParentFile().mkdirs();
|
||||
fos = new FileOutputStream(f);
|
||||
out = new OutputStreamWriter(fos, "UTF-8");
|
||||
out.write(str);
|
||||
}
|
||||
else if (dbg.equals("full"))
|
||||
{
|
||||
final Calendar cal = Calendar.getInstance();
|
||||
@@ -248,7 +200,7 @@ public class DebugHandler implements ITelnetHandler
|
||||
}
|
||||
|
||||
sb.append("\n\n## Thread Pool Manager Statistics ##\n");
|
||||
for (String line : ThreadPoolManager.getInstance().getStats())
|
||||
for (String line : ThreadPoolManager.getStats())
|
||||
{
|
||||
sb.append(line);
|
||||
sb.append('\n');
|
||||
|
||||
@@ -38,7 +38,7 @@ public class ThreadHandler implements ITelnetHandler
|
||||
{
|
||||
if (command.equals("performance"))
|
||||
{
|
||||
for (String line : ThreadPoolManager.getInstance().getStats())
|
||||
for (String line : ThreadPoolManager.getStats())
|
||||
{
|
||||
_print.println(line);
|
||||
}
|
||||
@@ -46,10 +46,10 @@ public class ThreadHandler implements ITelnetHandler
|
||||
}
|
||||
else if (command.equals("purge"))
|
||||
{
|
||||
ThreadPoolManager.getInstance().purge();
|
||||
ThreadPoolManager.purge();
|
||||
_print.println("STATUS OF THREAD POOLS AFTER PURGE COMMAND:");
|
||||
_print.println("");
|
||||
for (String line : ThreadPoolManager.getInstance().getStats())
|
||||
for (String line : ThreadPoolManager.getStats())
|
||||
{
|
||||
_print.println(line);
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ public class Unstuck implements IUserCommandHandler
|
||||
// End SoE Animation section
|
||||
|
||||
// continue execution later
|
||||
activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(new EscapeFinalizer(activeChar), unstuckTimer));
|
||||
activeChar.setSkillCast(ThreadPoolManager.schedule(new EscapeFinalizer(activeChar), unstuckTimer));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -472,7 +472,7 @@ public class Wedding implements IVoicedCommandHandler
|
||||
|
||||
final EscapeFinalizer ef = new EscapeFinalizer(activeChar, partner.getLocation(), partner.isIn7sDungeon());
|
||||
// continue execution later
|
||||
activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, teleportTimer));
|
||||
activeChar.setSkillCast(ThreadPoolManager.schedule(ef, teleportTimer));
|
||||
activeChar.forceIsCasting(GameTimeController.getInstance().getGameTicks() + (teleportTimer / GameTimeController.MILLIS_IN_TICK));
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user