Negligible delay for ServerList reply with number of characters.

Contributed by dontknowdontcare.
This commit is contained in:
MobiusDevelopment
2022-08-14 07:27:03 +00:00
parent 5466f9766f
commit 1501be0179
33 changed files with 445 additions and 80 deletions

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete;
private Map<Integer, Integer> _charsOnServers;
private Map<Integer, long[]> _charsToDelete;
class ServerData
{
@@ -120,8 +120,21 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while (((_charsOnServers == null) || (_charsToDelete == null)) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -38,10 +38,7 @@ import org.l2jmobius.loginserver.network.serverpackets.LoginOk;
import org.l2jmobius.loginserver.network.serverpackets.ServerList;
/**
* <pre>
* Format: x 0 (a leading null) x: the rsa encrypted block with the login an password.
*
* <pre>
*/
public class RequestAuthLogin implements IIncomingPacket<LoginClient>
{

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete;
private Map<Integer, Integer> _charsOnServers;
private Map<Integer, long[]> _charsToDelete;
class ServerData
{
@@ -120,8 +120,21 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (_charsToDelete == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
}
}
@Override

View File

@@ -38,10 +38,7 @@ import org.l2jmobius.loginserver.network.serverpackets.LoginOk;
import org.l2jmobius.loginserver.network.serverpackets.ServerList;
/**
* <pre>
* Format: x 0 (a leading null) x: the rsa encrypted block with the login an password.
*
* <pre>
*/
public class RequestAuthLogin implements IIncomingPacket<LoginClient>
{

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete;
private Map<Integer, Integer> _charsOnServers;
private Map<Integer, long[]> _charsToDelete;
class ServerData
{
@@ -120,8 +120,21 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while (((_charsOnServers == null) || (_charsToDelete == null)) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
}
}
@Override

View File

@@ -38,10 +38,7 @@ import org.l2jmobius.loginserver.network.serverpackets.LoginOk;
import org.l2jmobius.loginserver.network.serverpackets.ServerList;
/**
* <pre>
* Format: x 0 (a leading null) x: the rsa encrypted block with the login an password.
*
* <pre>
*/
public class RequestAuthLogin implements IIncomingPacket<LoginClient>
{

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete;
private Map<Integer, Integer> _charsOnServers;
private Map<Integer, long[]> _charsToDelete;
class ServerData
{
@@ -120,8 +120,21 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while (((_charsOnServers == null) || (_charsToDelete == null)) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
}
}
@Override

View File

@@ -38,10 +38,7 @@ import org.l2jmobius.loginserver.network.serverpackets.LoginOk;
import org.l2jmobius.loginserver.network.serverpackets.ServerList;
/**
* <pre>
* Format: x 0 (a leading null) x: the rsa encrypted block with the login an password.
*
* <pre>
*/
public class RequestAuthLogin implements IIncomingPacket<LoginClient>
{

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete;
private Map<Integer, Integer> _charsOnServers;
private Map<Integer, long[]> _charsToDelete;
class ServerData
{
@@ -120,8 +120,21 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while (((_charsOnServers == null) || (_charsToDelete == null)) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers;
private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers;
private Map<Integer, Integer> _charsOnServers;
class ServerData
{
@@ -118,7 +118,20 @@ public class ServerList implements IOutgoingPacket
{
_servers.add(new ServerData(client, gsi));
}
_charsOnServers = client.getCharsOnServ();
// Wait 300ms to reply with character list.
int i = 0;
while ((_charsOnServers == null) && (i++ < 3))
{
try
{
Thread.sleep(100);
}
catch (InterruptedException ignored)
{
}
_charsOnServers = client.getCharsOnServ();
}
}
@Override