Files
runelite/runescape-client/src/main/java/TaskHandler.java
Owain van Brakel 7c7bf0901a project: Rev 202
2021-12-14 18:20:58 +01:00

184 lines
3.9 KiB
Java

import java.io.DataInputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.URL;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("eb")
@Implements("TaskHandler")
public class TaskHandler implements Runnable {
@ObfuscatedName("c")
@Export("javaVendor")
public static String javaVendor;
@ObfuscatedName("eo")
@ObfuscatedSignature(
descriptor = "Lkz;"
)
@Export("archive12")
static Archive archive12;
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "Lfk;"
)
@Export("current")
Task current;
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "Lfk;"
)
@Export("task")
Task task;
@ObfuscatedName("t")
@Export("thread")
Thread thread;
@ObfuscatedName("s")
@Export("isClosed")
boolean isClosed;
public TaskHandler() {
this.current = null;
this.task = null;
this.isClosed = false;
javaVendor = "Unknown";
NPC.javaVersion = "1.6";
try {
javaVendor = System.getProperty("java.vendor");
NPC.javaVersion = System.getProperty("java.version");
} catch (Exception var2) {
}
this.isClosed = false;
this.thread = new Thread(this);
this.thread.setPriority(10);
this.thread.setDaemon(true);
this.thread.start();
}
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(S)V",
garbageValue = "-23939"
)
@Export("close")
public final void close() {
synchronized(this) {
this.isClosed = true;
this.notifyAll();
}
try {
this.thread.join();
} catch (InterruptedException var3) {
}
}
@ObfuscatedName("b")
@ObfuscatedSignature(
descriptor = "(IIILjava/lang/Object;I)Lfk;",
garbageValue = "838873650"
)
@Export("newTask")
final Task newTask(int var1, int var2, int var3, Object var4) {
Task var5 = new Task();
var5.type = var1;
var5.intArgument = var2;
var5.objectArgument = var4;
synchronized(this) {
if (this.task != null) {
this.task.next = var5;
this.task = var5;
} else {
this.task = this.current = var5;
}
this.notify();
return var5;
}
}
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/String;II)Lfk;",
garbageValue = "1945864892"
)
@Export("newSocketTask")
public final Task newSocketTask(String var1, int var2) {
return this.newTask(1, var2, 0, var1);
}
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(Ljava/lang/Runnable;II)Lfk;",
garbageValue = "-1633812322"
)
@Export("newThreadTask")
public final Task newThreadTask(Runnable var1, int var2) {
return this.newTask(2, var2, 0, var1);
}
public final void run() {
while (true) {
Task var1;
synchronized(this) {
while (true) {
if (this.isClosed) {
return;
}
if (this.current != null) {
var1 = this.current;
this.current = this.current.next;
if (this.current == null) {
this.task = null;
}
break;
}
try {
this.wait();
} catch (InterruptedException var8) {
}
}
}
try {
int var5 = var1.type;
if (var5 == 1) {
var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument);
} else if (var5 == 2) {
Thread var3 = new Thread((Runnable)var1.objectArgument);
var3.setDaemon(true);
var3.start();
var3.setPriority(var1.intArgument);
var1.result = var3;
} else if (var5 == 4) {
var1.result = new DataInputStream(((URL)var1.objectArgument).openStream());
}
var1.status = 1;
} catch (ThreadDeath var6) {
throw var6;
} catch (Throwable var7) {
var1.status = 2;
}
}
}
@ObfuscatedName("b")
@ObfuscatedSignature(
descriptor = "([BI)[B",
garbageValue = "-1643511224"
)
public static byte[] method3047(byte[] var0) {
int var1 = var0.length;
byte[] var2 = new byte[var1];
System.arraycopy(var0, 0, var2, 0, var1);
return var2;
}
}