Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
Router.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.0-alpha.0
4// <auto-generated>Generated from Slice file 'Router.ice'.</auto-generated>
5// clang-format off
6
7#ifndef Ice_Router_h_
8#define Ice_Router_h_
9
11#include <Ice/Ice.h>
12#include "BuiltinSequences.h"
13
14#ifndef ICE_DISABLE_VERSION
15# if ICE_INT_VERSION != 30850
16# error Ice version mismatch: an exact match is required for beta generated code
17# endif
18#endif
19
20// NOLINTBEGIN(modernize-concat-nested-namespaces)
21
22namespace Ice
23{
24 class RouterPrx;
25
26 class RouterFinderPrx;
27}
28
29namespace Ice
30{
31 /// Represents an intermediary object that routes requests and replies between clients and Ice objects that are not
32 /// directly reachable from these clients.
33 /// @headerfile Ice/Ice.h
34 class ICE_API RouterPrx : public Ice::Proxy<RouterPrx, Ice::ObjectPrx>
35 {
36 public:
37 /// Constructs a proxy from a Communicator and a proxy string.
38 /// @param communicator The communicator of the new proxy.
39 /// @param proxyString The proxy string to parse.
40 RouterPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
41
42 /// Copy constructor. Constructs with a copy of the contents of @p other.
43 /// @param other The proxy to copy from.
44 RouterPrx(const RouterPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
45
46 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
47 /// @param other The proxy to move from.
48 RouterPrx(RouterPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
49
50 ~RouterPrx() override;
51
52 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
53 /// @param rhs The proxy to copy from.
54 /// @return A reference to this proxy.
55 RouterPrx& operator=(const RouterPrx& rhs) noexcept
56 {
57 if (this != &rhs)
58 {
60 }
61 return *this;
62 }
63
64 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
65 /// @param rhs The proxy to move from.
66 RouterPrx& operator=(RouterPrx&& rhs) noexcept
67 {
68 if (this != &rhs)
69 {
70 Ice::ObjectPrx::operator=(std::move(rhs));
71 }
72 return *this;
73 }
74
75 /// Gets the router's client proxy, i.e. the proxy to use for forwarding requests from the client to the
76 /// router. If a null proxy is returned, the client will forward requests to the router's endpoints.
77 /// @param[out] hasRoutingTable Indicates whether or not the router supports a routing table. If `true`, the Ice
78 /// runtime will call ::Ice::RouterPrx::addProxies to populate the routing table. The Ice runtime assumes the router has
79 /// a routing table when @p hasRoutingTable is not set.
80 /// @param context The request context.
81 /// @return The router's client proxy.
82 /// @remarks Introduced in Ice 3.7.
83 std::optional<Ice::ObjectPrx> getClientProxy(std::optional<bool>& hasRoutingTable, const Ice::Context& context = Ice::noExplicitContext) const;
84
85 /// Gets the router's client proxy, i.e. the proxy to use for forwarding requests from the client to the
86 /// router. If a null proxy is returned, the client will forward requests to the router's endpoints.
87 /// @param context The request context.
88 /// @return A future that becomes available when the invocation completes. This future holds:
89 /// - `returnValue` The router's client proxy.
90 /// - `hasRoutingTable` Indicates whether or not the router supports a routing table. If `true`, the Ice
91 /// runtime will call ::Ice::RouterPrx::addProxies to populate the routing table. The Ice runtime assumes the router has
92 /// a routing table when @p hasRoutingTable is not set.
93 /// @remarks Introduced in Ice 3.7.
94 [[nodiscard]] std::future<std::tuple<std::optional<Ice::ObjectPrx>, std::optional<bool>>> getClientProxyAsync(const Ice::Context& context = Ice::noExplicitContext) const;
95
96 /// Gets the router's client proxy, i.e. the proxy to use for forwarding requests from the client to the
97 /// router. If a null proxy is returned, the client will forward requests to the router's endpoints.
98 /// @param response The response callback. It accepts:
99 /// - `returnValue` The router's client proxy.
100 /// - `hasRoutingTable` Indicates whether or not the router supports a routing table. If `true`, the Ice
101 /// runtime will call ::Ice::RouterPrx::addProxies to populate the routing table. The Ice runtime assumes the router has
102 /// a routing table when @p hasRoutingTable is not set.
103 /// @param exception The exception callback.
104 /// @param sent The sent callback.
105 /// @param context The request context.
106 /// @return A function that can be called to cancel the invocation locally.
107 /// @remarks Introduced in Ice 3.7.
108 // NOLINTNEXTLINE(modernize-use-nodiscard)
109 std::function<void()> getClientProxyAsync(std::function<void(std::optional<Ice::ObjectPrx>, std::optional<bool>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
110
111 /// @private
112 void _iceI_getClientProxy(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::tuple<std::optional<Ice::ObjectPrx>, std::optional<bool>>>>&, const Ice::Context&) const;
113
114 /// Gets the router's server proxy, i.e. the proxy to use for forwarding requests from the server to the
115 /// router. The Ice runtime uses the endpoints of this proxy as the published endpoints of bi-dir object
116 /// adapters.
117 /// @param context The request context.
118 /// @return The router's server proxy.
119 std::optional<Ice::ObjectPrx> getServerProxy(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
120
121 /// Gets the router's server proxy, i.e. the proxy to use for forwarding requests from the server to the
122 /// router. The Ice runtime uses the endpoints of this proxy as the published endpoints of bi-dir object
123 /// adapters.
124 /// @param context The request context.
125 /// @return A future that becomes available when the invocation completes. This future holds:
126 /// - The router's server proxy.
127 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> getServerProxyAsync(const Ice::Context& context = Ice::noExplicitContext) const;
128
129 /// Gets the router's server proxy, i.e. the proxy to use for forwarding requests from the server to the
130 /// router. The Ice runtime uses the endpoints of this proxy as the published endpoints of bi-dir object
131 /// adapters.
132 /// @param response The response callback. It accepts:
133 /// - The router's server proxy.
134 /// @param exception The exception callback.
135 /// @param sent The sent callback.
136 /// @param context The request context.
137 /// @return A function that can be called to cancel the invocation locally.
138 // NOLINTNEXTLINE(modernize-use-nodiscard)
139 std::function<void()> getServerProxyAsync(std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
140
141 /// @private
142 void _iceI_getServerProxy(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, const Ice::Context&) const;
143
144 /// Adds new proxy information to the router's routing table.
145 /// @param proxies The proxies to add. Adding a null proxy is an error.
146 /// @param context The request context.
147 /// @return Proxies discarded by the router. These proxies are all non-null.
148 ObjectProxySeq addProxies(const ObjectProxySeq& proxies, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
149
150 /// Adds new proxy information to the router's routing table.
151 /// @param proxies The proxies to add. Adding a null proxy is an error.
152 /// @param context The request context.
153 /// @return A future that becomes available when the invocation completes. This future holds:
154 /// - Proxies discarded by the router. These proxies are all non-null.
155 [[nodiscard]] std::future<ObjectProxySeq> addProxiesAsync(const ObjectProxySeq& proxies, const Ice::Context& context = Ice::noExplicitContext) const;
156
157 /// Adds new proxy information to the router's routing table.
158 /// @param proxies The proxies to add. Adding a null proxy is an error.
159 /// @param response The response callback. It accepts:
160 /// - Proxies discarded by the router. These proxies are all non-null.
161 /// @param exception The exception callback.
162 /// @param sent The sent callback.
163 /// @param context The request context.
164 /// @return A function that can be called to cancel the invocation locally.
165 // NOLINTNEXTLINE(modernize-use-nodiscard)
166 std::function<void()> addProxiesAsync(const ObjectProxySeq& proxies, std::function<void(::Ice::ObjectProxySeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
167
168 /// @private
169 void _iceI_addProxies(const std::shared_ptr<IceInternal::OutgoingAsyncT<ObjectProxySeq>>&, const ObjectProxySeq&, const Ice::Context&) const;
170
171 /// Gets the type ID of the associated Slice interface.
172 /// @return The string `"::Ice::Router"`.
173 static const char* ice_staticId() noexcept;
174
175 /// @private
176 static RouterPrx _fromReference(IceInternal::ReferencePtr ref) { return RouterPrx{std::move(ref)}; }
177
178 protected:
179 /// @private
180 RouterPrx() = default;
181
182 /// @private
183 explicit RouterPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
184 {
185 }
186 };
187
188 /// Provides access to a RouterPrx object via a fixed identity.
189 /// A RouterFinder is always registered with identity `Ice/RouterFinder`. This allows clients to obtain the
190 /// associated Router proxy with just the endpoint information of the object. For example, you can use the
191 /// RouterFinder proxy `Ice/RouterFinder:tcp -h somehost -p 4061` to get the Router proxy
192 /// `MyGlacier2/Router:tcp -h somehost -p 4061`.
193 /// @headerfile Ice/Ice.h
194 class ICE_API RouterFinderPrx : public Ice::Proxy<RouterFinderPrx, Ice::ObjectPrx>
195 {
196 public:
197 /// Constructs a proxy from a Communicator and a proxy string.
198 /// @param communicator The communicator of the new proxy.
199 /// @param proxyString The proxy string to parse.
200 RouterFinderPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
201
202 /// Copy constructor. Constructs with a copy of the contents of @p other.
203 /// @param other The proxy to copy from.
204 RouterFinderPrx(const RouterFinderPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
205
206 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
207 /// @param other The proxy to move from.
208 RouterFinderPrx(RouterFinderPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
209
210 ~RouterFinderPrx() override;
211
212 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
213 /// @param rhs The proxy to copy from.
214 /// @return A reference to this proxy.
216 {
217 if (this != &rhs)
218 {
220 }
221 return *this;
222 }
223
224 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
225 /// @param rhs The proxy to move from.
227 {
228 if (this != &rhs)
229 {
230 Ice::ObjectPrx::operator=(std::move(rhs));
231 }
232 return *this;
233 }
234
235 /// Gets a proxy to the associated ::Ice::RouterPrx. The proxy might point to several replicas.
236 /// @param context The request context.
237 /// @return The router proxy. This proxy is never null.
238 std::optional<RouterPrx> getRouter(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
239
240 /// Gets a proxy to the associated ::Ice::RouterPrx. The proxy might point to several replicas.
241 /// @param context The request context.
242 /// @return A future that becomes available when the invocation completes. This future holds:
243 /// - The router proxy. This proxy is never null.
244 [[nodiscard]] std::future<std::optional<RouterPrx>> getRouterAsync(const Ice::Context& context = Ice::noExplicitContext) const;
245
246 /// Gets a proxy to the associated ::Ice::RouterPrx. The proxy might point to several replicas.
247 /// @param response The response callback. It accepts:
248 /// - The router proxy. This proxy is never null.
249 /// @param exception The exception callback.
250 /// @param sent The sent callback.
251 /// @param context The request context.
252 /// @return A function that can be called to cancel the invocation locally.
253 // NOLINTNEXTLINE(modernize-use-nodiscard)
254 std::function<void()> getRouterAsync(std::function<void(std::optional<::Ice::RouterPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
255
256 /// @private
257 void _iceI_getRouter(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<RouterPrx>>>&, const Ice::Context&) const;
258
259 /// Gets the type ID of the associated Slice interface.
260 /// @return The string `"::Ice::RouterFinder"`.
261 static const char* ice_staticId() noexcept;
262
263 /// @private
264 static RouterFinderPrx _fromReference(IceInternal::ReferencePtr ref) { return RouterFinderPrx{std::move(ref)}; }
265
266 protected:
267 /// @private
268 RouterFinderPrx() = default;
269
270 /// @private
271 explicit RouterFinderPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
272 {
273 }
274 };
275}
276
277namespace Ice
278{
279 /// Represents an intermediary object that routes requests and replies between clients and Ice objects that are not
280 /// directly reachable from these clients.
281 /// @headerfile Ice/Ice.h
282 class ICE_API Router : public virtual Ice::Object
283 {
284 public:
285 /// The associated proxy type.
287
288 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
289 /// @param request The incoming request.
290 /// @param sendResponse The callback to send the response.
291 void dispatch(IncomingRequest& request, std::function<void(OutgoingResponse)> sendResponse) override;
292
293 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
294
295 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
296
297 /// Gets the router's client proxy, i.e. the proxy to use for forwarding requests from the client to the
298 /// router. If a null proxy is returned, the client will forward requests to the router's endpoints.
299 /// @param[out] hasRoutingTable Indicates whether or not the router supports a routing table. If `true`, the Ice
300 /// runtime will call ::Ice::RouterPrx::addProxies to populate the routing table. The Ice runtime assumes the router has
301 /// a routing table when @p hasRoutingTable is not set.
302 /// @param current The Current object of the incoming request.
303 /// @return The router's client proxy.
304 /// @remarks Introduced in Ice 3.7.
305 virtual std::optional<Ice::ObjectPrx> getClientProxy(std::optional<bool>& hasRoutingTable, const Ice::Current& current) const = 0;
306
307 /// @private
308 void _iceD_getClientProxy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
309
310 /// Gets the router's server proxy, i.e. the proxy to use for forwarding requests from the server to the
311 /// router. The Ice runtime uses the endpoints of this proxy as the published endpoints of bi-dir object
312 /// adapters.
313 /// @param current The Current object of the incoming request.
314 /// @return The router's server proxy.
315 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> getServerProxy(const Ice::Current& current) const = 0;
316
317 /// @private
318 void _iceD_getServerProxy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
319
320 /// Adds new proxy information to the router's routing table.
321 /// @param proxies The proxies to add. Adding a null proxy is an error.
322 /// @param current The Current object of the incoming request.
323 /// @return Proxies discarded by the router. These proxies are all non-null.
324 virtual ObjectProxySeq addProxies(ObjectProxySeq proxies, const Ice::Current& current) = 0;
325
326 /// @private
327 void _iceD_addProxies(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
328
329 /// Gets the type ID of the associated Slice interface.
330 /// @return The string `"::Ice::Router"`.
331 static const char* ice_staticId() noexcept;
332 };
333
334 /// A shared pointer to a Router.
335 using RouterPtr = std::shared_ptr<Router>;
336
337 /// Provides access to a RouterPrx object via a fixed identity.
338 /// A RouterFinder is always registered with identity `Ice/RouterFinder`. This allows clients to obtain the
339 /// associated Router proxy with just the endpoint information of the object. For example, you can use the
340 /// RouterFinder proxy `Ice/RouterFinder:tcp -h somehost -p 4061` to get the Router proxy
341 /// `MyGlacier2/Router:tcp -h somehost -p 4061`.
342 /// @headerfile Ice/Ice.h
343 class ICE_API RouterFinder : public virtual Ice::Object
344 {
345 public:
346 /// The associated proxy type.
348
349 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
350 /// @param request The incoming request.
351 /// @param sendResponse The callback to send the response.
352 void dispatch(IncomingRequest& request, std::function<void(OutgoingResponse)> sendResponse) override;
353
354 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
355
356 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
357
358 /// Gets a proxy to the associated ::Ice::RouterPrx. The proxy might point to several replicas.
359 /// @param current The Current object of the incoming request.
360 /// @return The router proxy. This proxy is never null.
361 virtual std::optional<RouterPrx> getRouter(const Ice::Current& current) = 0;
362
363 /// @private
364 void _iceD_getRouter(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
365
366 /// Gets the type ID of the associated Slice interface.
367 /// @return The string `"::Ice::RouterFinder"`.
368 static const char* ice_staticId() noexcept;
369 };
370
371 /// A shared pointer to a RouterFinder.
372 using RouterFinderPtr = std::shared_ptr<RouterFinder>;
373}
374
375// NOLINTEND(modernize-concat-nested-namespaces)
376
377#include <Ice/PopDisableWarnings.h>
378#endif
Represents a request received by a connection.
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
Definition Proxy.h:232
Object() noexcept=default
Default constructor.
The base class for servants.
Definition Object.h:21
Represents the response to an incoming request.
Provides typed proxy functions.
Definition Proxy.h:45
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
RouterFinderPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Router.h:200
RouterFinderPrx(const RouterFinderPrx &other) noexcept
Copy constructor.
Definition Router.h:204
std::future< std::optional< RouterPrx > > getRouterAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the associated Ice::RouterPrx.
RouterFinderPrx & operator=(const RouterFinderPrx &rhs) noexcept
Copy assignment operator.
Definition Router.h:215
std::function< void()> getRouterAsync(std::function< void(std::optional<::Ice::RouterPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the associated Ice::RouterPrx.
RouterFinderPrx(RouterFinderPrx &&other) noexcept
Move constructor.
Definition Router.h:208
RouterFinderPrx & operator=(RouterFinderPrx &&rhs) noexcept
Move assignment operator.
Definition Router.h:226
std::optional< RouterPrx > getRouter(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the associated Ice::RouterPrx.
Provides access to a RouterPrx object via a fixed identity.
Definition Router.h:195
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
RouterFinderPrx ProxyType
The associated proxy type.
Definition Router.h:347
virtual std::optional< RouterPrx > getRouter(const Ice::Current &current)=0
Gets a proxy to the associated Ice::RouterPrx.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
Provides access to a RouterPrx object via a fixed identity.
Definition Router.h:344
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::future< ObjectProxySeq > addProxiesAsync(const ObjectProxySeq &proxies, const Ice::Context &context=Ice::noExplicitContext) const
Adds new proxy information to the router's routing table.
std::optional< Ice::ObjectPrx > getServerProxy(const Ice::Context &context=Ice::noExplicitContext) const
Gets the router's server proxy, i.e.
std::future< std::tuple< std::optional< Ice::ObjectPrx >, std::optional< bool > > > getClientProxyAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the router's client proxy, i.e.
std::function< void()> getClientProxyAsync(std::function< void(std::optional< Ice::ObjectPrx >, std::optional< bool >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the router's client proxy, i.e.
RouterPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Router.h:40
RouterPrx & operator=(RouterPrx &&rhs) noexcept
Move assignment operator.
Definition Router.h:66
std::optional< Ice::ObjectPrx > getClientProxy(std::optional< bool > &hasRoutingTable, const Ice::Context &context=Ice::noExplicitContext) const
Gets the router's client proxy, i.e.
std::future< std::optional< Ice::ObjectPrx > > getServerProxyAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the router's server proxy, i.e.
std::function< void()> addProxiesAsync(const ObjectProxySeq &proxies, std::function< void(::Ice::ObjectProxySeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Adds new proxy information to the router's routing table.
RouterPrx(RouterPrx &&other) noexcept
Move constructor.
Definition Router.h:48
ObjectProxySeq addProxies(const ObjectProxySeq &proxies, const Ice::Context &context=Ice::noExplicitContext) const
Adds new proxy information to the router's routing table.
std::function< void()> getServerProxyAsync(std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the router's server proxy, i.e.
RouterPrx & operator=(const RouterPrx &rhs) noexcept
Copy assignment operator.
Definition Router.h:55
RouterPrx(const RouterPrx &other) noexcept
Copy constructor.
Definition Router.h:44
Represents an intermediary object that routes requests and replies between clients and Ice objects th...
Definition Router.h:35
RouterPrx ProxyType
The associated proxy type.
Definition Router.h:286
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual std::optional< Ice::ObjectPrx > getClientProxy(std::optional< bool > &hasRoutingTable, const Ice::Current &current) const =0
Gets the router's client proxy, i.e.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
virtual ObjectProxySeq addProxies(ObjectProxySeq proxies, const Ice::Current &current)=0
Adds new proxy information to the router's routing table.
virtual std::optional< Ice::ObjectPrx > getServerProxy(const Ice::Current &current) const =0
Gets the router's server proxy, i.e.
void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
Represents an intermediary object that routes requests and replies between clients and Ice objects th...
Definition Router.h:283
std::shared_ptr< Communicator > CommunicatorPtr
A shared pointer to a Communicator.
const Context noExplicitContext
Marker value used to indicate that no explicit request context was passed to a proxy invocation.
std::shared_ptr< RouterFinder > RouterFinderPtr
A shared pointer to a RouterFinder.
Definition Router.h:372
std::shared_ptr< Router > RouterPtr
A shared pointer to a Router.
Definition Router.h:335
std::vector< std::optional< Ice::ObjectPrx > > ObjectProxySeq
A sequence of object proxies.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Definition Context.h:28
The Ice RPC framework.
Definition SampleEvent.h:59
Provides information about an incoming request being dispatched.
Definition Current.h:18