Skip to content

Commit 7bd72c4

Browse files
committed
refactor: initial UpdateServer interface
1 parent ab31caf commit 7bd72c4

File tree

5 files changed

+45
-18
lines changed

5 files changed

+45
-18
lines changed

src/main/java/org/runejs/client/Class60.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.runejs.client.language.Native;
1313
import org.runejs.client.media.Rasterizer;
1414
import org.runejs.client.media.VertexNormal;
15-
import org.runejs.client.net.UpdateServer;
1615
import org.runejs.client.sound.MusicSystem;
1716
import org.runejs.Configuration;
1817
import org.runejs.client.util.BitUtils;
@@ -542,7 +541,7 @@ public static void renderLoginScreen(Component arg0, CacheArchive huffmanCacheAr
542541
MusicSystem.method412(false, CacheArchive.musicCacheArchive, 0, Native.titleSong, 10, "", MusicSystem.musicVolume);
543542
else
544543
MusicSystem.method405(10);
545-
Game.updateServer.resetUpdateServerRequests(false);
544+
Game.updateServer.resetRequests(false);
546545
MovedStatics.clearScreen = true;
547546
MovedStatics.aBoolean512 = true;
548547
}

src/main/java/org/runejs/client/Game.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2194,7 +2194,7 @@ public void processGameLoop() {
21942194

21952195
public void handleUpdateServer() {
21962196
if (gameStatusCode != 1000) {
2197-
boolean bool = updateServer.processUpdateServerResponse();
2197+
boolean bool = updateServer.poll();
21982198
if (!bool)
21992199
connectUpdateServer();
22002200
}
@@ -2299,7 +2299,7 @@ public void connectUpdateServer() {
22992299
if (connectionStage != 4)
23002300
break;
23012301

2302-
updateServer.handleUpdateServerConnection(updateServerSocket, gameStatusCode > 20);
2302+
updateServer.receiveConnection(updateServerSocket, gameStatusCode > 20);
23032303

23042304
updateServerSignlinkNode = null;
23052305
connectionStage = 0;
@@ -2340,7 +2340,7 @@ public void close() {
23402340
method249();
23412341
MusicSystem.syncedStop(false);
23422342
SoundSystem.stop();
2343-
updateServer.killUpdateServerSocket();
2343+
updateServer.close();
23442344
method947(-1);
23452345
do {
23462346
try {

src/main/java/org/runejs/client/MovedStatics.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ public static void method440() {
387387
Class60.aProducingGraphicsBuffer_463 = null;
388388
Class60.anIntArray1013 = null;
389389
MusicSystem.method405(10);
390-
Game.updateServer.resetUpdateServerRequests(true);
390+
Game.updateServer.resetRequests(true);
391391
aBoolean512 = false;
392392
}
393393
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.runejs.client.net;
2+
3+
import org.runejs.client.GameSocket;
4+
5+
/**
6+
* TODO rename , remove I prefix
7+
*/
8+
public interface IUpdateServer {
9+
void receiveConnection(GameSocket socket, boolean isLoggedIn);
10+
11+
boolean poll();
12+
13+
void resetRequests(boolean isLoggedIn);
14+
15+
void close();
16+
17+
int calculateDataLoaded(int volume, int file);
18+
19+
int getActiveCount(boolean pending, boolean immediate);
20+
}

src/main/java/org/runejs/client/net/UpdateServer.java

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
import java.io.IOException;
1010
import java.util.zip.CRC32;
1111

12-
13-
public class UpdateServer {
12+
public class UpdateServer implements IUpdateServer {
1413
public int ioExceptions = 0;
1514
public int crcMismatches = 0;
1615

@@ -36,7 +35,9 @@ public class UpdateServer {
3635
private long lastUpdateInMillis;
3736
private CacheArchive[] cacheArchiveLoaders = new CacheArchive[256];
3837

39-
public void handleUpdateServerConnection(GameSocket socket, boolean arg2) {
38+
39+
@Override
40+
public void receiveConnection(GameSocket socket, boolean isLoggedIn) {
4041
if(updateServerSocket != null) {
4142
try {
4243
updateServerSocket.kill();
@@ -48,7 +49,7 @@ public void handleUpdateServerConnection(GameSocket socket, boolean arg2) {
4849
}
4950

5051
updateServerSocket = socket;
51-
resetUpdateServerRequests(arg2);
52+
resetRequests(isLoggedIn);
5253
fileDataBuffer.currentPosition = 0;
5354
inboundFile = null;
5455
blockOffset = 0;
@@ -100,7 +101,9 @@ public void handleUpdateServerConnection(GameSocket socket, boolean arg2) {
100101
lastUpdateInMillis = System.currentTimeMillis();
101102
}
102103

103-
public boolean processUpdateServerResponse() {
104+
105+
@Override
106+
public boolean poll() {
104107
long l = System.currentTimeMillis();
105108
int currentMsSinceLastUpdate = (int) (l - lastUpdateInMillis);
106109
lastUpdateInMillis = l;
@@ -348,12 +351,12 @@ public void method399(int arg0, int arg2) {
348351
}
349352
}
350353

351-
public void getArchiveChecksum(CacheArchive cacheArchive, int arg2) {
354+
public void getArchiveChecksum(CacheArchive cacheArchive, int cacheIndexId) {
352355
if (crcTableBuffer == null) {
353356
method327(true, null, 255, 255, (byte) 0, 0);
354-
cacheArchiveLoaders[arg2] = cacheArchive;
357+
cacheArchiveLoaders[cacheIndexId] = cacheArchive;
355358
} else {
356-
crcTableBuffer.currentPosition = 5 + arg2 * 4;
359+
crcTableBuffer.currentPosition = 5 + cacheIndexId * 4;
357360
int i = crcTableBuffer.getIntBE();
358361
cacheArchive.requestLatestVersion(i);
359362
}
@@ -363,7 +366,9 @@ private static int xor(int arg0, int arg1) {
363366
return arg0 ^ arg1;
364367
}
365368

366-
public void resetUpdateServerRequests(boolean loggedIn) {
369+
370+
@Override
371+
public void resetRequests(boolean loggedIn) {
367372
if (updateServerSocket != null) {
368373
try {
369374
Buffer buffer = new Buffer(4);
@@ -385,19 +390,22 @@ public void resetUpdateServerRequests(boolean loggedIn) {
385390

386391
}
387392

388-
public void killUpdateServerSocket() {
393+
@Override
394+
public void close() {
389395
if(updateServerSocket != null) {
390396
updateServerSocket.kill();
391397
}
392398
}
393399

394-
public int calculateDataLoaded(int arg1, int arg2) {
395-
long l = (long) ((arg1 << 16) + arg2);
400+
@Override
401+
public int calculateDataLoaded(int volume, int file) {
402+
long l = (long) ((volume << 16) + file);
396403
if (currentResponse == null || currentResponse.key != l)
397404
return 0;
398405
return 1 + inboundFile.currentPosition * 99 / (inboundFile.buffer.length + -currentResponse.padding);
399406
}
400407

408+
@Override
401409
public int getActiveCount(boolean pending, boolean immediate) {
402410
int total = 0;
403411
if (immediate) {

0 commit comments

Comments
 (0)