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 List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete; private Map<Integer, long[]> _charsToDelete;
class ServerData class ServerData
{ {
@@ -120,9 +120,22 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ(); _charsToDelete = client.getCharsWaitingDelOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

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

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete; private Map<Integer, long[]> _charsToDelete;
class ServerData class ServerData
{ {
@@ -120,9 +120,22 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ(); _charsToDelete = client.getCharsWaitingDelOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

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

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete; private Map<Integer, long[]> _charsToDelete;
class ServerData class ServerData
{ {
@@ -120,9 +120,22 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ(); _charsToDelete = client.getCharsWaitingDelOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

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

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete; private Map<Integer, long[]> _charsToDelete;
class ServerData class ServerData
{ {
@@ -120,9 +120,22 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ(); _charsToDelete = client.getCharsWaitingDelOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

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

View File

@@ -66,8 +66,8 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
private final Map<Integer, long[]> _charsToDelete; private Map<Integer, long[]> _charsToDelete;
class ServerData class ServerData
{ {
@@ -120,9 +120,22 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
_charsToDelete = client.getCharsWaitingDelOnServ(); _charsToDelete = client.getCharsWaitingDelOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)

View File

@@ -65,7 +65,7 @@ public class ServerList implements IOutgoingPacket
private final List<ServerData> _servers; private final List<ServerData> _servers;
private final int _lastServer; private final int _lastServer;
private final Map<Integer, Integer> _charsOnServers; private Map<Integer, Integer> _charsOnServers;
class ServerData class ServerData
{ {
@@ -118,8 +118,21 @@ public class ServerList implements IOutgoingPacket
{ {
_servers.add(new ServerData(client, gsi)); _servers.add(new ServerData(client, gsi));
} }
// 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(); _charsOnServers = client.getCharsOnServ();
} }
}
@Override @Override
public boolean write(PacketWriter packet) public boolean write(PacketWriter packet)