Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-16 21:10:17 +01:00
Adding NetworkWriterThread for diff visibility
Dieser Commit ist enthalten in:
Ursprung
8be14b5bb3
Commit
c07d4fffb0
68
src/main/java/net/minecraft/server/NetworkWriterThread.java
Normale Datei
68
src/main/java/net/minecraft/server/NetworkWriterThread.java
Normale Datei
@ -0,0 +1,68 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
class NetworkWriterThread extends Thread {
|
||||
|
||||
final NetworkManager a;
|
||||
|
||||
NetworkWriterThread(NetworkManager networkmanager, String s) {
|
||||
super(s);
|
||||
this.a = networkmanager;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
Object object = NetworkManager.a;
|
||||
|
||||
synchronized (NetworkManager.a) {
|
||||
++NetworkManager.c;
|
||||
}
|
||||
|
||||
while (true) {
|
||||
boolean flag = false;
|
||||
|
||||
try {
|
||||
flag = true;
|
||||
if (!NetworkManager.a(this.a)) {
|
||||
flag = false;
|
||||
break;
|
||||
}
|
||||
|
||||
while (NetworkManager.d(this.a)) {
|
||||
;
|
||||
}
|
||||
|
||||
try {
|
||||
if (NetworkManager.e(this.a) != null) {
|
||||
NetworkManager.e(this.a).flush();
|
||||
}
|
||||
} catch (IOException ioexception) {
|
||||
if (!NetworkManager.f(this.a)) {
|
||||
NetworkManager.a(this.a, (Exception) ioexception);
|
||||
}
|
||||
|
||||
ioexception.printStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
sleep(2L);
|
||||
} catch (InterruptedException interruptedexception) {
|
||||
;
|
||||
}
|
||||
} finally {
|
||||
if (flag) {
|
||||
Object object1 = NetworkManager.a;
|
||||
|
||||
synchronized (NetworkManager.a) {
|
||||
--NetworkManager.c;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
object = NetworkManager.a;
|
||||
synchronized (NetworkManager.a) {
|
||||
--NetworkManager.c;
|
||||
}
|
||||
}
|
||||
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren