Files
runelite/runescape-client/src/main/java/PacketWriter.java
therealunull 8f587826ee chore: rev 193
2020-12-09 11:07:26 -05:00

212 lines
4.4 KiB
Java

import java.io.IOException;
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("dh")
@Implements("PacketWriter")
public class PacketWriter {
@ObfuscatedName("f")
@ObfuscatedGetter(
intValue = -1231198347
)
@Export("graphicsTickTimeIdx")
static int graphicsTickTimeIdx;
@ObfuscatedName("ge")
@ObfuscatedGetter(
intValue = -840603711
)
static int field1331;
@ObfuscatedName("id")
@ObfuscatedGetter(
intValue = 512771779
)
static int field1341;
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "Llr;"
)
@Export("socket")
AbstractSocket socket;
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "Ljn;"
)
@Export("packetBufferNodes")
IterableNodeDeque packetBufferNodes;
@ObfuscatedName("x")
@ObfuscatedGetter(
intValue = -818108241
)
@Export("bufferSize")
int bufferSize;
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "Lkj;"
)
@Export("buffer")
Buffer buffer;
@ObfuscatedName("t")
@ObfuscatedSignature(
descriptor = "Lmd;"
)
@Export("isaacCipher")
public IsaacCipher isaacCipher;
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "Lky;"
)
@Export("packetBuffer")
PacketBuffer packetBuffer;
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "Lgt;"
)
@Export("serverPacket")
ServerPacket serverPacket;
@ObfuscatedName("p")
@ObfuscatedGetter(
intValue = 2012352771
)
@Export("serverPacketLength")
int serverPacketLength;
@ObfuscatedName("l")
boolean field1332;
@ObfuscatedName("z")
@ObfuscatedGetter(
intValue = -1974762033
)
int field1333;
@ObfuscatedName("u")
@ObfuscatedGetter(
intValue = 1113999339
)
@Export("pendingWrites")
int pendingWrites;
@ObfuscatedName("e")
@ObfuscatedSignature(
descriptor = "Lgt;"
)
ServerPacket field1335;
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "Lgt;"
)
ServerPacket field1336;
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "Lgt;"
)
ServerPacket field1337;
PacketWriter() {
this.packetBufferNodes = new IterableNodeDeque();
this.bufferSize = 0;
this.buffer = new Buffer(5000);
this.packetBuffer = new PacketBuffer(40000);
this.serverPacket = null;
this.serverPacketLength = 0;
this.field1332 = true;
this.field1333 = 0;
this.pendingWrites = 0;
}
@ObfuscatedName("h")
@ObfuscatedSignature(
descriptor = "(S)V",
garbageValue = "-15320"
)
@Export("clearBuffer")
final void clearBuffer() {
this.packetBufferNodes.rsClear();
this.bufferSize = 0;
}
@ObfuscatedName("v")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "-1507185593"
)
@Export("flush")
final void flush() throws IOException {
if (this.socket != null && this.bufferSize > 0) {
this.buffer.offset = 0;
while (true) {
PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last();
if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) {
this.socket.write(this.buffer.array, 0, this.buffer.offset);
this.pendingWrites = 0;
break;
}
this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index);
this.bufferSize -= var1.index;
var1.remove();
var1.packetBuffer.releaseArray();
var1.release();
}
}
}
@ObfuscatedName("x")
@ObfuscatedSignature(
descriptor = "(Lgv;I)V",
garbageValue = "1911016563"
)
@Export("addNode")
public final void addNode(PacketBufferNode var1) {
this.packetBufferNodes.addFirst(var1);
var1.index = var1.packetBuffer.offset;
var1.packetBuffer.offset = 0;
this.bufferSize += var1.index;
}
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "(Llr;I)V",
garbageValue = "-412452109"
)
@Export("setSocket")
void setSocket(AbstractSocket var1) {
this.socket = var1;
}
@ObfuscatedName("t")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "1483874445"
)
@Export("close")
void close() {
if (this.socket != null) {
this.socket.close();
this.socket = null;
}
}
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "210420137"
)
@Export("removeSocket")
void removeSocket() {
this.socket = null;
}
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(I)Llr;",
garbageValue = "659174081"
)
@Export("getSocket")
AbstractSocket getSocket() {
return this.socket;
}
}