From d74732f5cd87b68aed10ea3fcfcb24171b9f5d67 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 1 Oct 2002 03:46:43 +0000 Subject: ObjectInputStream.java (resolveProxyClass): New method from Classpath. * java/io/ObjectInputStream.java (resolveProxyClass): New method from Classpath. * Makefile.in: Rebuilt. * Makefile.am (rmi_java_source_files): Added new files. * gnu/java/rmi/RMIMarshalledObjectInputStream.java, gnu/java/rmi/RMIMarshalledObjectOutputStream.java, gnu/java/rmi/server/ConnectionRunnerPool.java: New files from Classpath. * gnu/java/rmi/dgc/DGCImpl.java, gnu/java/rmi/dgc/DGCImpl_Skel.java, gnu/java/rmi/dgc/DGCImpl_Stub.java, gnu/java/rmi/registry/RegistryImpl_Skel.java, gnu/java/rmi/registry/RegistryImpl_Stub.java, gnu/java/rmi/server/RMIHashes.java, gnu/java/rmi/server/RMIObjectInputStream.java, gnu/java/rmi/server/RMIObjectOutputStream.java, gnu/java/rmi/server/UnicastConnection.java, gnu/java/rmi/server/UnicastConnectionManager.java, gnu/java/rmi/server/UnicastRef.java, gnu/java/rmi/server/UnicastServer.java, gnu/java/rmi/server/UnicastServerRef.java, java/rmi/MarshalledObject.java, java/rmi/server/RMIClassLoader.java, java/rmi/server/RemoteObject.java, java/rmi/server/UnicastRemoteObject.java, java/security/SecureClassLoader.java: Merged from Classpath. From-SVN: r57675 --- libjava/gnu/java/rmi/server/UnicastConnection.java | 30 ++++++++++++++-------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'libjava/gnu/java/rmi/server/UnicastConnection.java') diff --git a/libjava/gnu/java/rmi/server/UnicastConnection.java b/libjava/gnu/java/rmi/server/UnicastConnection.java index a8951656024..e13bb686229 100644 --- a/libjava/gnu/java/rmi/server/UnicastConnection.java +++ b/libjava/gnu/java/rmi/server/UnicastConnection.java @@ -44,6 +44,8 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; import java.io.ObjectOutput; import java.io.ObjectInput; import java.io.IOException; @@ -65,9 +67,10 @@ UnicastConnection(UnicastConnectionManager man, Socket sock) { } void acceptConnection() throws IOException { -//System.out.println("Accepting connection on " + lport); - din = new DataInputStream(sock.getInputStream()); - dout = new DataOutputStream(sock.getOutputStream()); +//System.out.println("Accepting connection on " + sock); + //Use BufferedXXXStream would be more efficient + din = new DataInputStream(new BufferedInputStream(sock.getInputStream())); + dout = new DataOutputStream(new BufferedOutputStream(sock.getOutputStream())); int sig = din.readInt(); if (sig != PROTOCOL_HEADER) { @@ -85,6 +88,7 @@ void acceptConnection() throws IOException { // Send my hostname and port dout.writeUTF(manager.serverName); dout.writeInt(manager.serverPort); + dout.flush(); // Read their hostname and port String rhost = din.readUTF(); @@ -94,15 +98,16 @@ void acceptConnection() throws IOException { } void makeConnection(int protocol) throws IOException { - dout = new DataOutputStream(sock.getOutputStream()); - din = new DataInputStream(sock.getInputStream()); + //Use BufferedXXXStream would be more efficient + din = new DataInputStream(new BufferedInputStream(sock.getInputStream())); + dout = new DataOutputStream(new BufferedOutputStream(sock.getOutputStream())); // Send header dout.writeInt(PROTOCOL_HEADER); dout.writeShort(PROTOCOL_VERSION); dout.writeByte(protocol); - dout.flush(); - + dout.flush(); + if (protocol != SINGLE_OP_PROTOCOL) { // Get back ack. int ack = din.readUnsignedByte(); @@ -117,6 +122,7 @@ void makeConnection(int protocol) throws IOException { // Send them my endpoint dout.writeUTF(manager.serverName); dout.writeInt(manager.serverPort); + dout.flush(); } // Okay, ready to roll ... } @@ -144,13 +150,15 @@ ObjectOutputStream getObjectOutputStream() throws IOException { } void disconnect() { - oin = null; - oout = null; try { - sock.close(); + if(oout != null) + oout.close(); } catch (IOException _) { - } + } + + oin = null; + oout = null; din = null; dout = null; sock = null; -- cgit v1.2.3