mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-10-19 09:02:54 -04:00
Added Server First request, changed how response allocates bytes
This commit is contained in:
@@ -35,9 +35,11 @@ import engine.resources.common.CRC;
|
||||
public class CollectionServerFirstListResponse extends SWGMessage {
|
||||
|
||||
private Map<String, ServerFirst> sfList;
|
||||
private String server;
|
||||
|
||||
public CollectionServerFirstListResponse(Map<String, ServerFirst> serverFirstList){
|
||||
public CollectionServerFirstListResponse(String server, Map<String, ServerFirst> serverFirstList){
|
||||
this.sfList = serverFirstList;
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -49,17 +51,21 @@ public class CollectionServerFirstListResponse extends SWGMessage {
|
||||
public IoBuffer serialize() {
|
||||
IoBuffer buffer;
|
||||
|
||||
int size = 0;
|
||||
|
||||
synchronized (sfList) {
|
||||
String galaxy = NGECore.getInstance().getConfig().getString("GALAXY_NAME");
|
||||
buffer = IoBuffer.allocate(14 + galaxy.length()).order(ByteOrder.LITTLE_ENDIAN);
|
||||
for (Entry<String, ServerFirst> entry : sfList.entrySet()) {
|
||||
size += entry.getValue().getBytes().length;
|
||||
}
|
||||
|
||||
buffer = IoBuffer.allocate(12 + server.length() + size).order(ByteOrder.LITTLE_ENDIAN);
|
||||
buffer.putShort((short) 2);
|
||||
buffer.putInt(CRC.StringtoCRC("CollectionServerFirstListResponse"));
|
||||
|
||||
buffer.put(getAsciiString(galaxy + ".0"));
|
||||
buffer.put(getAsciiString(server));
|
||||
buffer.putInt(sfList.size());
|
||||
|
||||
for (Entry<String, ServerFirst> entry : sfList.entrySet()) {
|
||||
buffer.expand(entry.getValue().getBytes().length);
|
||||
buffer.put(entry.getValue().getBytes());
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user