diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-04-04 14:14:26 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-04-04 14:14:26 +0000 |
commit | afa40e7770cd94699298400a2fd7a74109eb58fa (patch) | |
tree | 29d1510183ff33ec43a37a3b049b1e3935318b28 /cpp/src/Glacier2/Blobject.cpp | |
parent | Fix bug 874 (diff) | |
download | ice-afa40e7770cd94699298400a2fd7a74109eb58fa.tar.bz2 ice-afa40e7770cd94699298400a2fd7a74109eb58fa.tar.xz ice-afa40e7770cd94699298400a2fd7a74109eb58fa.zip |
Bug 919 - use requestId to set forwarding
Diffstat (limited to 'cpp/src/Glacier2/Blobject.cpp')
-rw-r--r-- | cpp/src/Glacier2/Blobject.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/cpp/src/Glacier2/Blobject.cpp b/cpp/src/Glacier2/Blobject.cpp index 9c69caca6b2..b4f1e44ae25 100644 --- a/cpp/src/Glacier2/Blobject.cpp +++ b/cpp/src/Glacier2/Blobject.cpp @@ -113,6 +113,26 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt } // + // Modify the proxy according to the request id. This can + // be overridden by the _fwd context. + // + if(current.requestId == 0) + { + if(_alwaysBatch && _buffered) + { + proxy = proxy->ice_batchOneway(); + } + else + { + proxy = proxy->ice_oneway(); + } + } + else if(current.requestId > 0) + { + proxy = proxy->ice_twoway(); + } + + // // Modify the proxy according to the _fwd context field. // Context::const_iterator p = current.ctx.find("_fwd"); |