diff options
Diffstat (limited to 'java/src/IceInternal/Outgoing.java')
-rw-r--r-- | java/src/IceInternal/Outgoing.java | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/java/src/IceInternal/Outgoing.java b/java/src/IceInternal/Outgoing.java index 9fb47f07e54..2f373e46323 100644 --- a/java/src/IceInternal/Outgoing.java +++ b/java/src/IceInternal/Outgoing.java @@ -49,7 +49,7 @@ public final class Outgoing } else { - _os.writeString(_reference.identity); + _reference.identity.__write(_os); _os.writeString(_reference.facet); } _os.writeString(operation); @@ -123,9 +123,9 @@ public final class Outgoing wait(timeout); if (_state == StateInProgress) { + timedOut = true; _state = StateLocalException; _exception = new Ice.TimeoutException(); - timedOut = true; } } else @@ -139,17 +139,17 @@ public final class Outgoing } } - if (_exception != null) + if (timedOut) { - if (timedOut) - { - // - // Must be called outside the synchronization of - // this object - // - _emitter.exception(_exception); - } + // + // Must be called outside the synchronization of + // this object + // + _emitter.exception(_exception); + } + if (_exception != null) + { // // A CloseConnectionException indicates graceful // server shutdown, and is therefore always repeatable @@ -217,7 +217,6 @@ public final class Outgoing public synchronized void finished(BasicStream is) { - assert(_state != StateUnsent); if (_state == StateInProgress) { _is.swap(is); @@ -310,7 +309,6 @@ public final class Outgoing public synchronized void finished(Ice.LocalException ex) { - assert(_state != StateUnsent); if (_state == StateInProgress) { _state = StateLocalException; |