Disconnection task improvement.
Contributed by Sahar.
This commit is contained in:
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.l2jmobius.commons.concurrent.ThreadPool;
|
||||
@ -33,6 +34,8 @@ public final class Disconnection
|
||||
{
|
||||
private static final Logger LOGGER = Logger.getLogger(Disconnection.class.getName());
|
||||
|
||||
private ScheduledFuture<?> _disconnectionTask;
|
||||
|
||||
public static L2GameClient getClient(L2GameClient client, L2PcInstance activeChar)
|
||||
{
|
||||
if (client != null)
|
||||
@ -167,12 +170,24 @@ public final class Disconnection
|
||||
|
||||
public void defaultSequence(boolean toLoginScreen)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(toLoginScreen);
|
||||
}
|
||||
|
||||
public void defaultSequence(IClientOutgoingPacket packet)
|
||||
{
|
||||
if (_disconnectionTask != null)
|
||||
{
|
||||
_disconnectionTask.cancel(false);
|
||||
_disconnectionTask = null;
|
||||
}
|
||||
|
||||
defaultSequence();
|
||||
close(packet);
|
||||
}
|
||||
@ -185,9 +200,9 @@ public final class Disconnection
|
||||
|
||||
public void onDisconnection()
|
||||
{
|
||||
if (_activeChar != null)
|
||||
if ((_activeChar != null) && (_disconnectionTask == null))
|
||||
{
|
||||
ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
_disconnectionTask = ThreadPool.schedule(() -> defaultSequence(), _activeChar.canLogout() ? 0 : AttackStanceTaskManager.COMBAT_TIME);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user