diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-05-23 11:59:44 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-05-23 11:59:44 +0200 |
commit | d81701ca8182942b7936f9fd84a019b695e9c890 (patch) | |
tree | dc036c9d701fbbe1afad67782bd78572c0f61974 /cpp/src/Ice/Proxy.cpp | |
parent | Fixed bug ICE-5543: stringToIdentity bug with escaped escapes (diff) | |
download | ice-d81701ca8182942b7936f9fd84a019b695e9c890.tar.bz2 ice-d81701ca8182942b7936f9fd84a019b695e9c890.tar.xz ice-d81701ca8182942b7936f9fd84a019b695e9c890.zip |
Added support for invocation timeouts and ACM heartbeats
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 58abfc6472c..fa5c73b6088 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -171,11 +171,11 @@ IceProxy::Ice::Object::begin_ice_isA(const string& typeId, IceInternal::BasicStream* __os = __result->__startWriteParams(DefaultFormat); __os->write(typeId); __result->__endWriteParams(); - __result->__send(true); + __result->__invoke(true); } catch(const LocalException& __ex) { - __result->__exceptionAsync(__ex); + __result->__invokeExceptionAsync(__ex); } return __result; } @@ -246,11 +246,11 @@ IceProxy::Ice::Object::begin_ice_ping(const Context* ctx, { __result->__prepare(ice_ping_name, Nonmutating, ctx); __result->__writeEmptyParams(); - __result->__send(true); + __result->__invoke(true); } catch(const LocalException& __ex) { - __result->__exceptionAsync(__ex); + __result->__invokeExceptionAsync(__ex); } return __result; } @@ -322,11 +322,11 @@ IceProxy::Ice::Object::begin_ice_ids(const Context* ctx, { __result->__prepare(ice_ids_name, Nonmutating, ctx); __result->__writeEmptyParams(); - __result->__send(true); + __result->__invoke(true); } catch(const LocalException& __ex) { - __result->__exceptionAsync(__ex); + __result->__invokeExceptionAsync(__ex); } return __result; } @@ -373,11 +373,11 @@ IceProxy::Ice::Object::begin_ice_id(const Context* ctx, { __result->__prepare(ice_id_name, Nonmutating, ctx); __result->__writeEmptyParams(); - __result->__send(true); + __result->__invoke(true); } catch(const LocalException& __ex) { - __result->__exceptionAsync(__ex); + __result->__invokeExceptionAsync(__ex); } return __result; } @@ -626,11 +626,11 @@ IceProxy::Ice::Object::begin_ice_invoke(const string& operation, { __result->__prepare(operation, mode, ctx); __result->__writeParamEncaps(inEncaps.first, static_cast<Int>(inEncaps.second - inEncaps.first)); - __result->__send(true); + __result->__invoke(true); } catch(const LocalException& __ex) { - __result->__exceptionAsync(__ex); + __result->__invokeExceptionAsync(__ex); } return __result; } @@ -964,6 +964,27 @@ IceProxy::Ice::Object::ice_collocationOptimized(bool b) const } } +Int +IceProxy::Ice::Object::ice_getInvocationTimeout() const +{ + return _reference->getInvocationTimeout(); +} + +ObjectPrx +IceProxy::Ice::Object::ice_invocationTimeout(Int newTimeout) const +{ + if(newTimeout == _reference->getInvocationTimeout()) + { + return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + } + else + { + ObjectPrx proxy = __newInstance(); + proxy->setup(_reference->changeInvocationTimeout(newTimeout)); + return proxy; + } +} + ObjectPrx IceProxy::Ice::Object::ice_twoway() const { @@ -1213,11 +1234,11 @@ IceProxy::Ice::Object::begin_ice_flushBatchRequestsInternal(const ::IceInternal: new ::IceInternal::ProxyBatchOutgoingAsync(this, ice_flushBatchRequests_name, del, cookie); try { - __result->__send(); + __result->__invoke(); } catch(const LocalException& __ex) { - __result->__exceptionAsync(__ex); + __result->__invokeExceptionAsync(__ex); } return __result; } |