import java.io.IOException; import java.net.Socket; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("kw") @Implements("BufferedNetSocket") public class BufferedNetSocket extends AbstractSocket { @ObfuscatedName("fr") @ObfuscatedSignature( signature = "Leo;" ) @Export("urlRequester") static UrlRequester urlRequester; @ObfuscatedName("f") @Export("socket") Socket socket; @ObfuscatedName("i") @ObfuscatedSignature( signature = "Lkx;" ) @Export("source") BufferedSource source; @ObfuscatedName("y") @ObfuscatedSignature( signature = "Lkb;" ) @Export("sink") BufferedSink sink; BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { this.socket = var1; this.socket.setSoTimeout(30000); this.socket.setTcpNoDelay(true); this.socket.setReceiveBufferSize(65536); this.socket.setSendBufferSize(65536); this.source = new BufferedSource(this.socket.getInputStream(), var2); this.sink = new BufferedSink(this.socket.getOutputStream(), var3); } @ObfuscatedName("f") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-647274291" ) @Export("close") public void close() { this.sink.close(); try { this.socket.close(); } catch (IOException var2) { } this.source.close(); } @ObfuscatedName("i") @ObfuscatedSignature( signature = "(I)I", garbageValue = "2115277231" ) @Export("readUnsignedByte") public int readUnsignedByte() throws IOException { return this.source.readUnsignedByte(); } @ObfuscatedName("y") @ObfuscatedSignature( signature = "(I)I", garbageValue = "-972484659" ) @Export("available") public int available() throws IOException { return this.source.available(); } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(II)Z", garbageValue = "497635177" ) @Export("isAvailable") public boolean isAvailable(int var1) throws IOException { return this.source.isAvailable(var1); } @ObfuscatedName("p") @ObfuscatedSignature( signature = "([BIII)I", garbageValue = "-1642271193" ) @Export("read") public int read(byte[] var1, int var2, int var3) throws IOException { return this.source.read(var1, var2, var3); } @ObfuscatedName("e") @ObfuscatedSignature( signature = "([BIII)V", garbageValue = "-340382115" ) @Export("write") public void write(byte[] var1, int var2, int var3) throws IOException { this.sink.write(var1, var2, var3); } protected void finalize() { this.close(); } }