summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Daffern <seejay.11@gmail.com>2012-05-13 00:43:04 +0100
committerfeildmaster <admin@feildmaster.com>2012-05-23 21:53:01 -0500
commitc07d4fffb00124588c8fadf477ff568dcd75d83d (patch)
treefc82db1ad183afbbf5350203c83ac449c3413d7d
parent8be14b5bb3c608f5ff180725fa5a61cc01efab60 (diff)
downloadcraftbukkit-c07d4fffb00124588c8fadf477ff568dcd75d83d.tar
craftbukkit-c07d4fffb00124588c8fadf477ff568dcd75d83d.tar.gz
craftbukkit-c07d4fffb00124588c8fadf477ff568dcd75d83d.tar.lz
craftbukkit-c07d4fffb00124588c8fadf477ff568dcd75d83d.tar.xz
craftbukkit-c07d4fffb00124588c8fadf477ff568dcd75d83d.zip
Adding NetworkWriterThread for diff visibility
-rw-r--r--src/main/java/net/minecraft/server/NetworkWriterThread.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/NetworkWriterThread.java b/src/main/java/net/minecraft/server/NetworkWriterThread.java
new file mode 100644
index 00000000..19db5663
--- /dev/null
+++ b/src/main/java/net/minecraft/server/NetworkWriterThread.java
@@ -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;
+ }
+ }
+}