Ice 3.7 C++11 API Reference
Public Member Functions | Static Public Member Functions | List of all members
Ice::RouterPrx Class Reference

The Ice router interface. More...

#include <Ice/Ice.h>

Inheritance diagram for Ice::RouterPrx:
Inheritance graph
[legend]
Collaboration diagram for Ice::RouterPrx:
Collaboration graph
[legend]

Public Member Functions

ObjectProxySeq addProxies (const ObjectProxySeq &proxies, const Context &context=noExplicitContext)
 Add new proxy information to the router's routing table. More...
 
::std::function< void()> addProxiesAsync (const ObjectProxySeq &proxies, ::std::function< void(::Ice::ObjectProxySeq)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
 Add new proxy information to the router's routing table. More...
 
template<template< typename > class P = ::std::promise>
auto addProxiesAsync (const ObjectProxySeq &proxies, const Context &context=noExplicitContext) -> decltype(::std::declval< P<::Ice::ObjectProxySeq >>().get_future())
 Add new proxy information to the router's routing table. More...
 
::std::shared_ptr< ObjectPrxgetClientProxy (Ice::optional< bool > &hasRoutingTable, const Context &context=noExplicitContext)
 Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router. More...
 
::std::function< void()> getClientProxyAsync (::std::function< void(::std::shared_ptr<::Ice::ObjectPrx >, Ice::optional< bool >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
 Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router. More...
 
template<template< typename > class P = ::std::promise>
auto getClientProxyAsync (const Context &context=noExplicitContext) -> decltype(::std::declval< P< Router::GetClientProxyResult >>().get_future())
 Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router. More...
 
::std::shared_ptr< ObjectPrxgetServerProxy (const Context &context=noExplicitContext)
 Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router. More...
 
::std::function< void()> getServerProxyAsync (::std::function< void(::std::shared_ptr<::Ice::ObjectPrx >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
 Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router. More...
 
template<template< typename > class P = ::std::promise>
auto getServerProxyAsync (const Context &context=noExplicitContext) -> decltype(::std::declval< P<::std::shared_ptr<::Ice::ObjectPrx >>>().get_future())
 Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router. More...
 
- Public Member Functions inherited from Ice::Proxy< RouterPrx, ObjectPrx >
::std::shared_ptr< RouterPrxice_adapterId (const ::std::string &id) const
 Obtains a proxy that is identical to this proxy, except for the adapter ID. More...
 
::std::shared_ptr< RouterPrxice_batchDatagram () const
 Obtains a proxy that is identical to this proxy, but uses batch datagram invocations. More...
 
::std::shared_ptr< RouterPrxice_batchOneway () const
 Obtains a proxy that is identical to this proxy, but uses batch oneway invocations. More...
 
::std::shared_ptr< RouterPrxice_collocationOptimized (bool b) const
 Obtains a proxy that is identical to this proxy, except for collocation optimization. More...
 
::std::shared_ptr< RouterPrxice_compress (bool b) const
 Obtains a proxy that is identical to this proxy, except for its compression setting which overrides the compression setting from the proxy endpoints. More...
 
::std::shared_ptr< RouterPrxice_connectionCached (bool b) const
 Obtains a proxy that is identical to this proxy, except for connection caching. More...
 
::std::shared_ptr< RouterPrxice_connectionId (const ::std::string &id) const
 Obtains a proxy that is identical to this proxy, except for its connection ID. More...
 
::std::shared_ptr< RouterPrxice_context (const ::Ice::Context &context) const
 Obtains a proxy that is identical to this proxy, except for the per-proxy context. More...
 
::std::shared_ptr< RouterPrxice_datagram () const
 Obtains a proxy that is identical to this proxy, but uses datagram invocations. More...
 
::std::shared_ptr< RouterPrxice_encodingVersion (const ::Ice::EncodingVersion &version) const
 Obtains a proxy that is identical to this proxy, except for the encoding used to marshal parameters. More...
 
::std::shared_ptr< RouterPrxice_endpoints (const ::Ice::EndpointSeq &endpoints) const
 Obtains a proxy that is identical to this proxy, except for the endpoints. More...
 
::std::shared_ptr< RouterPrxice_endpointSelection (::Ice::EndpointSelectionType type) const
 Obtains a proxy that is identical to this proxy, except for the endpoint selection policy. More...
 
::std::shared_ptr< RouterPrxice_fixed (const ::std::shared_ptr<::Ice::Connection > &connection) const
 Obtains a proxy that is identical to this proxy, except it's a fixed proxy bound the given connection. More...
 
::std::shared_ptr< RouterPrxice_invocationTimeout (int timeout) const
 Obtains a proxy that is identical to this proxy, except for the invocation timeout. More...
 
::std::shared_ptr< RouterPrxice_locator (const ::std::shared_ptr<::Ice::LocatorPrx > &locator) const
 Obtains a proxy that is identical to this proxy, except for the locator. More...
 
::std::shared_ptr< RouterPrxice_locatorCacheTimeout (int timeout) const
 Obtains a proxy that is identical to this proxy, except for the locator cache timeout. More...
 
::std::shared_ptr< RouterPrxice_oneway () const
 Obtains a proxy that is identical to this proxy, but uses oneway invocations. More...
 
::std::shared_ptr< RouterPrxice_preferSecure (bool b) const
 Obtains a proxy that is identical to this proxy, except for its endpoint selection policy. More...
 
::std::shared_ptr< RouterPrxice_router (const ::std::shared_ptr<::Ice::RouterPrx > &router) const
 Obtains a proxy that is identical to this proxy, except for the router. More...
 
::std::shared_ptr< RouterPrxice_secure (bool b) const
 Obtains a proxy that is identical to this proxy, except for how it selects endpoints. More...
 
::std::shared_ptr< RouterPrxice_timeout (int timeout) const
 Obtains a proxy that is identical to this proxy, except for its connection timeout setting which overrides the timeot setting from the proxy endpoints. More...
 
::std::shared_ptr< RouterPrxice_twoway () const
 Obtains a proxy that is identical to this proxy, but uses twoway invocations. More...
 

Static Public Member Functions

static const ::std::string & ice_staticId ()
 Obtains the Slice type ID of this interface. More...
 

Detailed Description

The Ice router interface.

Routers can be set either globally with Communicator#setDefaultRouter, or with ice_router on specific proxies.

Member Function Documentation

◆ addProxies()

ObjectProxySeq Ice::RouterPrx::addProxies ( const ObjectProxySeq proxies,
const Context context = noExplicitContext 
)
inline

Add new proxy information to the router's routing table.

Parameters
proxiesThe proxies to add.
contextThe Context map to send with the invocation.
Returns
Proxies discarded by the router.

◆ addProxiesAsync() [1/2]

::std::function<void()> Ice::RouterPrx::addProxiesAsync ( const ObjectProxySeq proxies,
::std::function< void(::Ice::ObjectProxySeq)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const Context context = noExplicitContext 
)
inline

Add new proxy information to the router's routing table.

Parameters
proxiesThe proxies to add.
responseThe response callback.
exThe exception callback.
sentThe sent callback.
contextThe Context map to send with the invocation.
Returns
A function that can be called to cancel the invocation locally.

◆ addProxiesAsync() [2/2]

template<template< typename > class P = ::std::promise>
auto Ice::RouterPrx::addProxiesAsync ( const ObjectProxySeq proxies,
const Context context = noExplicitContext 
) -> decltype(::std::declval<P<::Ice::ObjectProxySeq>>().get_future())
inline

Add new proxy information to the router's routing table.

Parameters
proxiesThe proxies to add.
contextThe Context map to send with the invocation.
Returns
The future object for the invocation.

◆ getClientProxy()

::std::shared_ptr<ObjectPrx> Ice::RouterPrx::getClientProxy ( Ice::optional< bool > &  hasRoutingTable,
const Context context = noExplicitContext 
)
inline

Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router.

If a null proxy is returned, the client will forward requests to the router's endpoints.

Parameters
hasRoutingTableIndicates whether or not the router supports a routing table. If it is supported, the Ice runtime will call addProxies to populate the routing table. This out parameter is only supported starting with Ice 3.7. The Ice runtime assumes the router has a routing table if the optional is not set.
contextThe Context map to send with the invocation.
Returns
The router's client proxy.

◆ getClientProxyAsync() [1/2]

::std::function<void()> Ice::RouterPrx::getClientProxyAsync ( ::std::function< void(::std::shared_ptr<::Ice::ObjectPrx >, Ice::optional< bool >)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const Context context = noExplicitContext 
)
inline

Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router.

If a null proxy is returned, the client will forward requests to the router's endpoints.

Parameters
responseThe response callback.
exThe exception callback.
sentThe sent callback.
contextThe Context map to send with the invocation.
Returns
A function that can be called to cancel the invocation locally.

◆ getClientProxyAsync() [2/2]

template<template< typename > class P = ::std::promise>
auto Ice::RouterPrx::getClientProxyAsync ( const Context context = noExplicitContext) -> decltype(::std::declval<P<Router::GetClientProxyResult>>().get_future())
inline

Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router.

If a null proxy is returned, the client will forward requests to the router's endpoints.

Parameters
contextThe Context map to send with the invocation.
Returns
The future object for the invocation.

◆ getServerProxy()

::std::shared_ptr<ObjectPrx> Ice::RouterPrx::getServerProxy ( const Context context = noExplicitContext)
inline

Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router.

Parameters
contextThe Context map to send with the invocation.
Returns
The router's server proxy.

◆ getServerProxyAsync() [1/2]

::std::function<void()> Ice::RouterPrx::getServerProxyAsync ( ::std::function< void(::std::shared_ptr<::Ice::ObjectPrx >)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const Context context = noExplicitContext 
)
inline

Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router.

Parameters
responseThe response callback.
exThe exception callback.
sentThe sent callback.
contextThe Context map to send with the invocation.
Returns
A function that can be called to cancel the invocation locally.

◆ getServerProxyAsync() [2/2]

template<template< typename > class P = ::std::promise>
auto Ice::RouterPrx::getServerProxyAsync ( const Context context = noExplicitContext) -> decltype(::std::declval<P<::std::shared_ptr<::Ice::ObjectPrx>>>().get_future())
inline

Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router.

Parameters
contextThe Context map to send with the invocation.
Returns
The future object for the invocation.

◆ ice_staticId()

static const ::std::string& Ice::RouterPrx::ice_staticId ( )
static

Obtains the Slice type ID of this interface.

Returns
The fully-scoped type ID.

The documentation for this class was generated from the following file: