summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/LocatorInfo.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-11-27 11:58:35 +0100
committerBenoit Foucher <benoit@zeroc.com>2007-11-27 11:58:35 +0100
commit47f800495093fd7679a315e2d730fea22f6135b7 (patch)
treea7b8d3488f3841367dd03d10cae293f36fd10481 /cpp/src/Ice/LocatorInfo.h
parentFixed SystemException to no longer derive from LocalException (diff)
downloadice-47f800495093fd7679a315e2d730fea22f6135b7.tar.bz2
ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.xz
ice-47f800495093fd7679a315e2d730fea22f6135b7.zip
- Added support for non-blocking AMI/batch requests, connection
creation. - Added support for AMI oneway requests. - Changed collocation optimization to not perform any DNS lookups.
Diffstat (limited to 'cpp/src/Ice/LocatorInfo.h')
-rw-r--r--cpp/src/Ice/LocatorInfo.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/Ice/LocatorInfo.h b/cpp/src/Ice/LocatorInfo.h
index 4811030d97c..f0a1032fa05 100644
--- a/cpp/src/Ice/LocatorInfo.h
+++ b/cpp/src/Ice/LocatorInfo.h
@@ -71,6 +71,15 @@ class LocatorInfo : public IceUtil::Shared, public IceUtil::Mutex
{
public:
+ class GetEndpointsCallback : virtual public IceUtil::Shared
+ {
+ public:
+
+ virtual void setEndpoints(const std::vector<EndpointIPtr>&, bool) = 0;
+ virtual void setException(const Ice::LocalException&) = 0;
+ };
+ typedef IceUtil::Handle<GetEndpointsCallback> GetEndpointsCallbackPtr;
+
LocatorInfo(const Ice::LocatorPrx&, const LocatorTablePtr&);
void destroy();
@@ -83,6 +92,7 @@ public:
Ice::LocatorRegistryPrx getLocatorRegistry();
std::vector<EndpointIPtr> getEndpoints(const IndirectReferencePtr&, int, bool&);
+ void getEndpoints(const IndirectReferencePtr&, int, const GetEndpointsCallbackPtr&);
void clearCache(const IndirectReferencePtr&);
void clearObjectCache(const IndirectReferencePtr&);
@@ -90,6 +100,12 @@ private:
void trace(const std::string&, const IndirectReferencePtr&, const std::vector<EndpointIPtr>&);
+ void getEndpointsException(const IndirectReferencePtr&, const Ice::Exception&);
+ void getWellKnownObjectEndpoints(const IndirectReferencePtr&, const Ice::ObjectPrx&, int, bool,
+ const GetEndpointsCallbackPtr&);
+ void getEndpointsException(const IndirectReferencePtr&, const Ice::Exception&, const GetEndpointsCallbackPtr&);
+ void getEndpointsTrace(const IndirectReferencePtr&, const std::vector<EndpointIPtr>&, bool);
+
const Ice::LocatorPrx _locator;
Ice::LocatorRegistryPrx _locatorRegistry;
const LocatorTablePtr _table;