diff options
Diffstat (limited to 'java/src/Ice/ObjectImpl.java')
-rw-r--r-- | java/src/Ice/ObjectImpl.java | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java index 6b051e2a4b0..dcc4acdd52d 100644 --- a/java/src/Ice/ObjectImpl.java +++ b/java/src/Ice/ObjectImpl.java @@ -269,28 +269,21 @@ public abstract class ObjectImpl implements Object, java.lang.Cloneable, java.io public DispatchStatus ice_dispatch(Request request, DispatchInterceptorAsyncCallback cb) { - if(request.isCollocated()) + IceInternal.Incoming in = (IceInternal.Incoming)request; + if(cb != null) { - return __collocDispatch((IceInternal.Direct)request); + in.push(cb); } - else + try + { + in.startOver(); // may raise ResponseSentException + return __dispatch(in, in.getCurrent()); + } + finally { - IceInternal.Incoming in = (IceInternal.Incoming)request; if(cb != null) { - in.push(cb); - } - try - { - in.startOver(); // may raise ResponseSentException - return __dispatch(in, in.getCurrent()); - } - finally - { - if(cb != null) - { - in.pop(); - } + in.pop(); } } } @@ -344,12 +337,6 @@ public abstract class ObjectImpl implements Object, java.lang.Cloneable, java.io throw new Ice.OperationNotExistException(current.id, current.facet, current.operation); } - public DispatchStatus - __collocDispatch(IceInternal.Direct request) - { - return request.run(this); - } - public void __write(IceInternal.BasicStream os) { |