Files
runelite/runescape-client/src/main/java/BufferedSink.java
ThatGamerBlue 29a3d313a4 rev 196
2021-05-19 12:59:30 +01:00

220 lines
5.3 KiB
Java

import java.io.IOException;
import java.io.OutputStream;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("ly")
@Implements("BufferedSink")
public class BufferedSink implements Runnable {
@ObfuscatedName("h")
@Export("thread")
Thread thread;
@ObfuscatedName("c")
@Export("outputStream")
OutputStream outputStream;
@ObfuscatedName("o")
@ObfuscatedGetter(
intValue = 1589128659
)
@Export("capacity")
int capacity;
@ObfuscatedName("g")
@Export("buffer")
byte[] buffer;
@ObfuscatedName("l")
@ObfuscatedGetter(
intValue = -831388653
)
@Export("position")
int position;
@ObfuscatedName("z")
@ObfuscatedGetter(
intValue = -846688281
)
@Export("limit")
int limit;
@ObfuscatedName("t")
@Export("exception")
IOException exception;
@ObfuscatedName("v")
@Export("closed")
boolean closed;
BufferedSink(OutputStream var1, int var2) {
this.position = 0; // L: 186
this.limit = 0; // L: 187
this.outputStream = var1; // L: 192
this.capacity = var2 + 1; // L: 193
this.buffer = new byte[this.capacity]; // L: 194
this.thread = new Thread(this); // L: 195
this.thread.setDaemon(true); // L: 196
this.thread.start(); // L: 197
} // L: 198
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(B)Z",
garbageValue = "0"
)
@Export("isClosed")
boolean isClosed() {
if (this.closed) { // L: 201
try {
this.outputStream.close(); // L: 203
if (this.exception == null) {
this.exception = new IOException(""); // L: 204
}
} catch (IOException var2) { // L: 206
if (this.exception == null) { // L: 207
this.exception = new IOException(var2);
}
}
return true; // L: 209
} else {
return false; // L: 211
}
}
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "([BIIB)V",
garbageValue = "57"
)
@Export("write")
void write(byte[] var1, int var2, int var3) throws IOException {
if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { // L: 261
synchronized(this) { // L: 262
if (this.exception != null) { // L: 263
throw new IOException(this.exception.toString());
} else {
int var5;
if (this.position <= this.limit) { // L: 265
var5 = this.capacity - this.limit + this.position - 1;
} else {
var5 = this.position - this.limit - 1; // L: 266
}
if (var5 < var3) { // L: 267
throw new IOException("");
} else {
if (var3 + this.limit <= this.capacity) { // L: 268
System.arraycopy(var1, var2, this.buffer, this.limit, var3); // L: 269
} else {
int var6 = this.capacity - this.limit; // L: 272
System.arraycopy(var1, var2, this.buffer, this.limit, var6); // L: 273
System.arraycopy(var1, var6 + var2, this.buffer, 0, var3 - var6); // L: 274
}
this.limit = (var3 + this.limit) % this.capacity; // L: 276
this.notifyAll(); // L: 277
}
}
}
} else {
throw new IOException();
}
} // L: 279
@ObfuscatedName("o")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "2030103699"
)
@Export("close")
void close() {
synchronized(this) { // L: 282
this.closed = true; // L: 283
this.notifyAll(); // L: 284
} // L: 285
try {
this.thread.join(); // L: 287
} catch (InterruptedException var3) { // L: 289
}
} // L: 290
public void run() {
do {
int var1;
synchronized(this) { // L: 217
while (true) {
if (this.exception != null) { // L: 219
return;
}
if (this.position <= this.limit) { // L: 220
var1 = this.limit - this.position;
} else {
var1 = this.capacity - this.position + this.limit; // L: 221
}
if (var1 > 0) { // L: 222
break;
}
try {
this.outputStream.flush(); // L: 224
} catch (IOException var11) { // L: 226
this.exception = var11; // L: 227
return; // L: 228
}
if (this.isClosed()) { // L: 230
return;
}
try {
this.wait(); // L: 232
} catch (InterruptedException var12) { // L: 234
}
}
}
try {
if (var1 + this.position <= this.capacity) { // L: 238
this.outputStream.write(this.buffer, this.position, var1); // L: 239
} else {
int var7 = this.capacity - this.position; // L: 242
this.outputStream.write(this.buffer, this.position, var7); // L: 243
this.outputStream.write(this.buffer, 0, var1 - var7); // L: 244
}
} catch (IOException var10) { // L: 247
IOException var2 = var10;
synchronized(this) { // L: 248
this.exception = var2; // L: 249
return; // L: 250
}
}
synchronized(this) { // L: 253
this.position = (var1 + this.position) % this.capacity; // L: 254
} // L: 255
} while(!this.isClosed()); // L: 256
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(ZB)V",
garbageValue = "-50"
)
@Export("Login_promptCredentials")
static void Login_promptCredentials(boolean var0) {
Login.Login_response1 = ""; // L: 983
Login.Login_response2 = "Enter your username/email & password."; // L: 984
Login.Login_response3 = ""; // L: 985
Login.loginIndex = 2; // L: 986
if (var0) { // L: 987
Login.Login_password = "";
}
ReflectionCheck.method1157(); // L: 988
GrandExchangeOfferOwnWorldComparator.method1213(); // L: 989
} // L: 990
}