diff options
author | Erik Broes <erikbroes@grum.nl> | 2011-05-28 22:50:08 +0200 |
---|---|---|
committer | EvilSeph <evilseph@unaligned.org> | 2011-05-30 22:37:34 -0400 |
commit | 6dbd710bbf37728eb760cacb019d1e384a7e1311 (patch) | |
tree | 37b670b6e589f3fcffa116d55c099e424402dfdc /src/main/java/net/minecraft/server/NetworkManager.java | |
parent | 9ec5d8b5dfc544a6873aa1bb48a07deedd1751fb (diff) | |
download | craftbukkit-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.java | 45 |
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) { |