summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2003-05-25 18:27:33 +0000
committerMarc Laukien <marc@zeroc.com>2003-05-25 18:27:33 +0000
commita6d8c987ffab6ce316453e0c63b38b78285a554c (patch)
tree629dc272c8abf968330a166bb8fc2b5f79f9ff50 /java/src
parentBacked out merge (diff)
downloadice-a6d8c987ffab6ce316453e0c63b38b78285a554c.tar.bz2
ice-a6d8c987ffab6ce316453e0c63b38b78285a554c.tar.xz
ice-a6d8c987ffab6ce316453e0c63b38b78285a554c.zip
DispatchAsync
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/BlobjectAsync.java2
-rw-r--r--java/src/IceInternal/DispatchStatus.java43
-rw-r--r--java/src/IceInternal/Incoming.java14
3 files changed, 40 insertions, 19 deletions
diff --git a/java/src/Ice/BlobjectAsync.java b/java/src/Ice/BlobjectAsync.java
index aedca8bbe3d..9dcd8082558 100644
--- a/java/src/Ice/BlobjectAsync.java
+++ b/java/src/Ice/BlobjectAsync.java
@@ -35,6 +35,6 @@ public abstract class BlobjectAsync extends Ice.ObjectImpl
{
cb.ice_exception(ex);
}
- return IceInternal.DispatchStatus.DispatchOK;
+ return IceInternal.DispatchStatus.DispatchAsync;
}
}
diff --git a/java/src/IceInternal/DispatchStatus.java b/java/src/IceInternal/DispatchStatus.java
index 02047915996..a2a554b9797 100644
--- a/java/src/IceInternal/DispatchStatus.java
+++ b/java/src/IceInternal/DispatchStatus.java
@@ -16,30 +16,53 @@ package IceInternal;
public final class DispatchStatus
{
- private static DispatchStatus[] __values = new DispatchStatus[10];
+ private static DispatchStatus[] __values = new DispatchStatus[9];
private int __value;
public static final int _DispatchOK = 0;
- public static final DispatchStatus DispatchOK = new DispatchStatus(_DispatchOK);
+ public static final DispatchStatus DispatchOK =
+ new DispatchStatus(_DispatchOK);
+
public static final int _DispatchUserException = 1;
- public static final DispatchStatus DispatchUserException = new DispatchStatus(_DispatchUserException);
+ public static final DispatchStatus DispatchUserException =
+ new DispatchStatus(_DispatchUserException);
+
public static final int _DispatchObjectNotExist = 2;
- public static final DispatchStatus DispatchObjectNotExist = new DispatchStatus(_DispatchObjectNotExist);
+ public static final DispatchStatus DispatchObjectNotExist =
+ new DispatchStatus(_DispatchObjectNotExist);
+
public static final int _DispatchFacetNotExist = 3;
- public static final DispatchStatus DispatchFacetNotExist = new DispatchStatus(_DispatchFacetNotExist);
+ public static final DispatchStatus DispatchFacetNotExist =
+ new DispatchStatus(_DispatchFacetNotExist);
+
public static final int _DispatchOperationNotExist = 4;
- public static final DispatchStatus DispatchOperationNotExist = new DispatchStatus(_DispatchOperationNotExist);
+ public static final DispatchStatus DispatchOperationNotExist =
+ new DispatchStatus(_DispatchOperationNotExist);
+
public static final int _DispatchUnknownLocalException = 5;
- public static final DispatchStatus DispatchUnknownLocalException = new DispatchStatus(_DispatchUnknownLocalException);
+ public static final DispatchStatus DispatchUnknownLocalException =
+ new DispatchStatus(_DispatchUnknownLocalException);
+
public static final int _DispatchUnknownUserException = 6;
- public static final DispatchStatus DispatchUnknownUserException = new DispatchStatus(_DispatchUnknownUserException);
+ public static final DispatchStatus DispatchUnknownUserException =
+ new DispatchStatus(_DispatchUnknownUserException);
+
public static final int _DispatchUnknownException = 7;
- public static final DispatchStatus DispatchUnknownException = new DispatchStatus(_DispatchUnknownException);
+ public static final DispatchStatus DispatchUnknownException =
+ new DispatchStatus(_DispatchUnknownException);
+
+ //
+ // "Pseudo dispatch status", used internally only to indicate
+ // async dispatch.
+ //
+ public static final int _DispatchAsync = 8;
+ public static final DispatchStatus DispatchAsync =
+ new DispatchStatus(_DispatchAsync);
public static DispatchStatus
convert(int val)
{
- assert val < 8;
+ assert val < 9;
return __values[val];
}
diff --git a/java/src/IceInternal/Incoming.java b/java/src/IceInternal/Incoming.java
index a3730a0d38f..eea59467408 100644
--- a/java/src/IceInternal/Incoming.java
+++ b/java/src/IceInternal/Incoming.java
@@ -110,18 +110,16 @@ final public class Incoming extends IncomingBase
}
//
- // In case of an asynchronous dispatch, _is is now
- // null, because an IncomingAsync has adopted this
- // Incoming.
+ // DispatchAsync is "pseudo dispatch status", used
+ // internally only to indicate async dispatch.
//
- if(_is == null)
+ if(status == DispatchStatus.DispatchAsync)
{
//
- // If this was an asynchronous dispatch, we're
- // done here. We do *not* call __finishInvoke(),
- // because the call is not finished yet.
+ // If this was an asynchronous dispatch, we're done
+ // here. We do *not* call __finishInvoke(), because
+ // the call is not finished yet.
//
- assert(status == DispatchStatus.DispatchOK);
return;
}
}