Ice
3.9
Slice API Reference
Toggle main menu visibility
Loading...
Searching...
No Matches
Ice
Router.ice
1
// Copyright (c) ZeroC, Inc.
2
3
#pragma once
4
5
[[
"cpp:dll-export:ICE_API"
]]
6
[[
"cpp:doxygen:include:Ice/Ice.h"
]]
7
[[
"cpp:header-ext:h"
]]
8
9
[[
"js:module:@zeroc/ice"
]]
10
11
#include "BuiltinSequences.ice"
12
13
[
"java:identifier:com.zeroc.Ice"
]
14
module
Ice
15
{
16
/// Represents an intermediary object that routes requests and replies between clients and Ice objects that are not
17
/// directly reachable from these clients.
18
interface
Router
19
{
20
/// Gets the router's client proxy, i.e. the proxy to use for forwarding requests from the client to the
21
/// router. If a null proxy is returned, the client will forward requests to the router's endpoints.
22
/// @param hasRoutingTable Indicates whether or not the router supports a routing table. If `true`, the Ice
23
/// runtime will call {@link addProxies} to populate the routing table. The Ice runtime assumes the router has
24
/// a routing table when @p hasRoutingTable is not set.
25
/// @return The router's client proxy.
26
/// @remark Introduced in Ice 3.7.
27
[
"cpp:const"
]
28
idempotent
Object
*
getClientProxy
(out optional(1)
bool
hasRoutingTable);
29
30
/// Gets the router's server proxy, i.e. the proxy to use for forwarding requests from the server to the
31
/// router. The Ice runtime uses the endpoints of this proxy as the published endpoints of bi-dir object
32
/// adapters.
33
/// @return The router's server proxy.
34
[
"cpp:const"
]
35
idempotent
Object
*
getServerProxy
();
36
37
/// Adds new proxy information to the router's routing table.
38
/// @param proxies The proxies to add. Adding a null proxy is an error.
39
/// @return Proxies discarded by the router. These proxies are all non-null.
40
idempotent
ObjectProxySeq
addProxies
(
ObjectProxySeq
proxies);
41
}
42
43
/// Provides access to a {@link Router} object via a fixed identity.
44
/// A RouterFinder is always registered with identity `Ice/RouterFinder`. This allows clients to obtain the
45
/// associated Router proxy with just the endpoint information of the object. For example, you can use the
46
/// RouterFinder proxy `Ice/RouterFinder:tcp -h somehost -p 4061` to get the Router proxy
47
/// `MyGlacier2/Router:tcp -h somehost -p 4061`.
48
interface
RouterFinder
49
{
50
/// Gets a proxy to the associated {@link Router}. The proxy might point to several replicas.
51
/// @return The router proxy. This proxy is never null.
52
Router
*
getRouter
();
53
}
54
}
Ice::RouterFinder::getRouter
Router * getRouter()
Gets a proxy to the associated Router.
Ice::RouterFinder
Provides access to a Router object via a fixed identity.
Definition
Router.ice:49
Ice::Router::getClientProxy
idempotent Object * getClientProxy(out optional(1) bool hasRoutingTable)
Gets the router's client proxy, i.e.
Ice::Router::addProxies
idempotent ObjectProxySeq addProxies(ObjectProxySeq proxies)
Adds new proxy information to the router's routing table.
Ice::Router::getServerProxy
idempotent Object * getServerProxy()
Gets the router's server proxy, i.e.
Ice::Router
Represents an intermediary object that routes requests and replies between clients and Ice objects th...
Definition
Router.ice:19
Ice::ObjectProxySeq
sequence< Object > ObjectProxySeq
A sequence of object proxies.
Definition
BuiltinSequences.ice:53
Ice
The Ice RPC framework.
Definition
BuiltinSequences.ice:23
Generated by
1.17.0