summaryrefslogtreecommitdiff
path: root/gnu/CORBA/GIOP/MessageHeader.java
diff options
context:
space:
mode:
authorAudrius Meskauskas <audriusa@Bioinformatics.org>2006-04-09 09:50:32 +0000
committerAudrius Meskauskas <audriusa@Bioinformatics.org>2006-04-09 09:50:32 +0000
commit7ebbbeb22d59ce222c37f3fe1274371d30e1fb2c (patch)
treee838d02ff2ab82163e6f6d1e499c8a19bd1500bb /gnu/CORBA/GIOP/MessageHeader.java
parent432917c0b5951cd6795d2d94c9d9abaa9d9eea87 (diff)
downloadclasspath-7ebbbeb22d59ce222c37f3fe1274371d30e1fb2c.tar.gz
2006-04-09 Audrius Meskauskas <AudriusA@Bioinformatics.org>
* gnu/CORBA/gnuRequest.java (submit): Try to read the response for the one way message, but ignore if EOF was received. * gnu/CORBA/GIOP/MessageHeader.java (read): Set the minor code to Minor.EOF if the end of file is received instead of the header.
Diffstat (limited to 'gnu/CORBA/GIOP/MessageHeader.java')
-rw-r--r--gnu/CORBA/GIOP/MessageHeader.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/gnu/CORBA/GIOP/MessageHeader.java b/gnu/CORBA/GIOP/MessageHeader.java
index 1ebb7b0a9..ae8e55c27 100644
--- a/gnu/CORBA/GIOP/MessageHeader.java
+++ b/gnu/CORBA/GIOP/MessageHeader.java
@@ -51,6 +51,7 @@ import org.omg.CORBA.MARSHAL;
import org.omg.CORBA.portable.IDLEntity;
import java.io.ByteArrayOutputStream;
+import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -275,19 +276,25 @@ public class MessageHeader
* @param istream a stream to read from.
* @throws MARSHAL if this is not a GIOP 1.0 header.
*/
- public void read(java.io.InputStream istream) throws MARSHAL
+ public void read(java.io.InputStream istream)
+ throws MARSHAL, EOFException
{
try
{
byte[] xMagic = new byte[MAGIC.length];
int r = istream.read(xMagic);
+ int minor;
if (! Arrays.equals(xMagic, MAGIC))
{
StringBuffer b = new StringBuffer();
if (r == - 1)
- b.append("Immediate EOF");
+ {
+ b.append("Immediate EOF");
+ minor = Minor.EOF;
+ }
else
{
+ minor = Minor.Giop;
b.append(r + " bytes: ");
for (int i = 0; i < xMagic.length; i++)
{
@@ -296,7 +303,7 @@ public class MessageHeader
}
}
MARSHAL m = new MARSHAL("Not a GIOP message: " + b);
- m.minor = Minor.Giop;
+ m.minor = minor;
throw m;
}