diff options
| author | Audrius Meskauskas <audriusa@Bioinformatics.org> | 2006-04-09 09:50:32 +0000 |
|---|---|---|
| committer | Audrius Meskauskas <audriusa@Bioinformatics.org> | 2006-04-09 09:50:32 +0000 |
| commit | 7ebbbeb22d59ce222c37f3fe1274371d30e1fb2c (patch) | |
| tree | e838d02ff2ab82163e6f6d1e499c8a19bd1500bb /gnu/CORBA/GIOP/MessageHeader.java | |
| parent | 432917c0b5951cd6795d2d94c9d9abaa9d9eea87 (diff) | |
| download | classpath-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.java | 13 |
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; } |
