Ice 3.8
Slice API Reference
Loading...
Searching...
No Matches
Lookup.ice
1// Copyright (c) ZeroC, Inc.
2
3#pragma once
4
5[["cpp:header-ext:h"]]
6
7[["js:module:@zeroc/ice"]]
8
9#include "Ice/Locator.ice"
10
11/// IceLocatorDiscovery is an Ice plug-in that enables the discovery of Ice locators (such as IceGrid) via UDP
12/// multicast.
13["java:identifier:com.zeroc.IceLocatorDiscovery"]
14module IceLocatorDiscovery
15{
16 /// Represents a callback object implemented by IceLocatorDiscovery clients. It allows IceLocatorDiscovery clients
17 /// to receive replies to {@link Lookup} requests.
18 /// @see Lookup
19 interface LookupReply
20 {
21 /// Provides a reply to a {@link Lookup#findLocator} request.
22 /// @param prx The proxy of the locator.
23 void foundLocator(Ice::Locator* prx);
24 }
25
26 /// Looks for a locator using UDP multicast.
27 /// @remark This interface is implemented by Ice locator implementations and can be used by clients to find
28 /// available Ice locators on the network.
29 /// Ice locator implementations provide a well-known `Ice/LocatorLookup` object accessible through UDP multicast.
30 /// Clients typically make a multicast `findLocator` request to find the locator proxy.
31 /// @see LookupReply
32 interface Lookup
33 {
34 /// Finds a locator proxy with the given @p instanceName.
35 /// @param instanceName Restrict the search to Ice registries configured with the given instance name. If
36 /// empty, all the available registries will reply.
37 /// @param reply The reply object to use to send the reply.
38 idempotent void findLocator(string instanceName, LookupReply* reply);
39 }
40}