summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/NetworkManager.java
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2011-05-28 22:50:08 +0200
committerEvilSeph <evilseph@unaligned.org>2011-05-30 22:37:34 -0400
commit6dbd710bbf37728eb760cacb019d1e384a7e1311 (patch)
tree37b670b6e589f3fcffa116d55c099e424402dfdc /src/main/java/net/minecraft/server/NetworkManager.java
parent9ec5d8b5dfc544a6873aa1bb48a07deedd1751fb (diff)
downloadcraftbukkit-6dbd710bbf37728eb760cacb019d1e384a7e1311.tar
craftbukkit-6dbd710bbf37728eb760cacb019d1e384a7e1311.tar.gz
craftbukkit-6dbd710bbf37728eb760cacb019d1e384a7e1311.tar.lz
craftbukkit-6dbd710bbf37728eb760cacb019d1e384a7e1311.tar.xz
craftbukkit-6dbd710bbf37728eb760cacb019d1e384a7e1311.zip
Update for 1.6.5
Diffstat (limited to 'src/main/java/net/minecraft/server/NetworkManager.java')
-rw-r--r--src/main/java/net/minecraft/server/NetworkManager.java45
1 files changed, 24 insertions, 21 deletions
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index b995864a..f32ec799 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -1,6 +1,5 @@
package net.minecraft.server;
-import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -34,11 +33,10 @@ public class NetworkManager {
private Object[] v;
private int w = 0;
private int x = 0;
- private transient boolean y = false;
public static int[] d = new int[256];
public static int[] e = new int[256];
public int f = 0;
- private int z = 50;
+ private int y = 50;
public NetworkManager(Socket socket, String s, NetHandler nethandler) {
this.socket = socket;
@@ -51,7 +49,7 @@ public class NetworkManager {
// CraftBukkit start - cant compile these outside the try
this.input = new DataInputStream(socket.getInputStream());
- this.output = new DataOutputStream(socket.getOutputStream());
+ this.output = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream(), 5120));
// CraftBukkit end
} catch (IOException socketexception) {
System.err.println(socketexception.getMessage());
@@ -101,12 +99,11 @@ public class NetworkManager {
Packet.a(packet, this.output);
aint = e;
i = packet.b();
- aint[i] += packet.a();
+ aint[i] += packet.a() + 1;
flag = true;
}
- // CraftBukkit - add 'flag'
- if ((!flag || this.z-- <= 0) && !this.o.isEmpty() && (this.f == 0 || System.currentTimeMillis() - ((Packet) this.o.get(0)).timestamp >= (long) this.f)) {
+ if (this.y-- <= 0 && !this.o.isEmpty() && (this.f == 0 || System.currentTimeMillis() - ((Packet) this.o.get(0)).timestamp >= (long) this.f)) {
object = this.g;
synchronized (this.g) {
packet = (Packet) this.o.remove(0);
@@ -116,21 +113,24 @@ public class NetworkManager {
Packet.a(packet, this.output);
aint = e;
i = packet.b();
- aint[i] += packet.a();
- this.z = 50;
+ aint[i] += packet.a() + 1;
+ this.y = 0;
flag = true;
}
+
+ return flag;
} catch (Exception exception) {
if (!this.t) {
this.a(exception);
}
- }
- return flag;
+ return false;
+ }
}
public void a() {
- this.y = true;
+ this.s.interrupt();
+ this.r.interrupt();
}
private boolean g() {
@@ -143,19 +143,21 @@ public class NetworkManager {
int[] aint = d;
int i = packet.b();
- aint[i] += packet.a();
+ aint[i] += packet.a() + 1;
this.m.add(packet);
flag = true;
} else {
this.a("disconnect.endOfStream", new Object[0]);
}
+
+ return flag;
} catch (Exception exception) {
if (!this.t) {
this.a(exception);
}
- }
- return flag;
+ return false;
+ }
}
private void a(Exception exception) {
@@ -215,6 +217,7 @@ public class NetworkManager {
packet.a(this.p);
}
+ this.a();
if (this.t && this.m.isEmpty()) {
this.p.a(this.u, this.v);
}
@@ -251,16 +254,16 @@ public class NetworkManager {
return networkmanager.f();
}
- static boolean e(NetworkManager networkmanager) {
- return networkmanager.y;
+ static DataOutputStream e(NetworkManager networkmanager) {
+ return networkmanager.output;
}
- static boolean a(NetworkManager networkmanager, boolean flag) {
- return networkmanager.y = flag;
+ static boolean f(NetworkManager networkmanager) {
+ return networkmanager.t;
}
- static DataOutputStream f(NetworkManager networkmanager) {
- return networkmanager.output;
+ static void a(NetworkManager networkmanager, Exception exception) {
+ networkmanager.a(exception);
}
static Thread g(NetworkManager networkmanager) {