Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package net.minecraft.server;
2
3import com.legacyminecraft.poseidon.PoseidonConfig;
4
5class NetworkReaderThread extends Thread {
6 private boolean fast; // Poseidon
7 final NetworkManager a;
8
9 NetworkReaderThread(NetworkManager networkmanager, String s) {
10 super(s);
11 this.a = networkmanager;
12 this.fast = PoseidonConfig.getInstance().getBoolean("settings.faster-packets.enabled", true); // Poseidon
13 }
14
15 public void run() {
16 Object object = NetworkManager.a;
17
18 synchronized (NetworkManager.a) {
19 ++NetworkManager.b;
20 }
21
22 while (true) {
23 boolean flag = false;
24
25 try {
26 flag = true;
27 if (!NetworkManager.a(this.a)) {
28 flag = false;
29 break;
30 }
31
32 if (NetworkManager.b(this.a)) {
33 flag = false;
34 break;
35 }
36
37 while (NetworkManager.c(this.a)) {
38 ;
39 }
40
41 try {
42 sleep(this.fast ? 2L : 100L);
43 } catch (InterruptedException interruptedexception) {
44 ;
45 }
46 } finally {
47 if (flag) {
48 Object object1 = NetworkManager.a;
49
50 synchronized (NetworkManager.a) {
51 --NetworkManager.b;
52 }
53 }
54 }
55 }
56
57 object = NetworkManager.a;
58 synchronized (NetworkManager.a) {
59 --NetworkManager.b;
60 }
61 }
62}