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

The Glacier2 specialization of the Ice::Router interface. More...

#include <Glacier2/Glacier2.h>

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

Public Member Functions

::std::shared_ptr< SessionPrxcreateSession (const ::std::string &userId, const ::std::string &password, const ::Ice::Context &context=::Ice::noExplicitContext)
 Create a per-client session with the router. More...
 
::std::function< void()> createSessionAsync (const ::std::string &userId, const ::std::string &password, ::std::function< void(::std::shared_ptr<::Glacier2::SessionPrx >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 Create a per-client session with the router. More...
 
template<template< typename > class P = ::std::promise>
auto createSessionAsync (const ::std::string &userId, const ::std::string &password, const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P<::std::shared_ptr<::Glacier2::SessionPrx >>>().get_future())
 Create a per-client session with the router. More...
 
::std::shared_ptr< SessionPrxcreateSessionFromSecureConnection (const ::Ice::Context &context=::Ice::noExplicitContext)
 Create a per-client session with the router. More...
 
::std::function< void()> createSessionFromSecureConnectionAsync (::std::function< void(::std::shared_ptr<::Glacier2::SessionPrx >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 Create a per-client session with the router. More...
 
template<template< typename > class P = ::std::promise>
auto createSessionFromSecureConnectionAsync (const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P<::std::shared_ptr<::Glacier2::SessionPrx >>>().get_future())
 Create a per-client session with the router. More...
 
void destroySession (const ::Ice::Context &context=::Ice::noExplicitContext)
 Destroy the calling client's session with this router. More...
 
::std::function< void()> destroySessionAsync (::std::function< void()> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 Destroy the calling client's session with this router. More...
 
template<template< typename > class P = ::std::promise>
auto destroySessionAsync (const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P< void >>().get_future())
 Destroy the calling client's session with this router. More...
 
int getACMTimeout (const ::Ice::Context &context=::Ice::noExplicitContext)
 Get the value of the ACM timeout. More...
 
::std::function< void()> getACMTimeoutAsync (::std::function< void(int)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 Get the value of the ACM timeout. More...
 
template<template< typename > class P = ::std::promise>
auto getACMTimeoutAsync (const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P< int >>().get_future())
 Get the value of the ACM timeout. More...
 
::std::string getCategoryForClient (const ::Ice::Context &context=::Ice::noExplicitContext)
 This category must be used in the identities of all of the client's callback objects. More...
 
::std::function< void()> getCategoryForClientAsync (::std::function< void(::std::string)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 This category must be used in the identities of all of the client's callback objects. More...
 
template<template< typename > class P = ::std::promise>
auto getCategoryForClientAsync (const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P<::std::string >>().get_future())
 This category must be used in the identities of all of the client's callback objects. More...
 
long long int getSessionTimeout (const ::Ice::Context &context=::Ice::noExplicitContext)
 Get the value of the session timeout. More...
 
::std::function< void()> getSessionTimeoutAsync (::std::function< void(long long int)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 Get the value of the session timeout. More...
 
template<template< typename > class P = ::std::promise>
auto getSessionTimeoutAsync (const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P< long long int >>().get_future())
 Get the value of the session timeout. More...
 
void refreshSession (const ::Ice::Context &context=::Ice::noExplicitContext)
 Keep the calling client's session with this router alive. More...
 
::std::function< void()> refreshSessionAsync (::std::function< void()> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
 Keep the calling client's session with this router alive. More...
 
template<template< typename > class P = ::std::promise>
auto refreshSessionAsync (const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P< void >>().get_future())
 Keep the calling client's session with this router alive. More...
 
- Public Member Functions inherited from Ice::Proxy< RouterPrx, ::Ice::RouterPrx >
::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 Glacier2 specialization of the Ice::Router interface.

Member Function Documentation

◆ createSession()

::std::shared_ptr<SessionPrx> Glacier2::RouterPrx::createSession ( const ::std::string &  userId,
const ::std::string &  password,
const ::Ice::Context context = ::Ice::noExplicitContext 
)
inline

Create a per-client session with the router.

If a SessionManager has been installed, a proxy to a Session object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

If a session proxy is returned, it must be configured to route through the router that created it. This will happen automatically if the router is configured as the client's default router at the time the session proxy is created in the client process, otherwise the client must configure the session proxy explicitly.

Parameters
userIdThe user id for which to check the password.
passwordThe password for the given user id.
contextThe Context map to send with the invocation.
Returns
A proxy for the newly created session, or null if no SessionManager has been installed.
Exceptions
Glacier2::CannotCreateSessionExceptionRaised if the session cannot be created.
Glacier2::PermissionDeniedExceptionRaised if the password for the given user id is not correct, or if the user is not allowed access.
See also
Session
SessionManager
PermissionsVerifier

◆ createSessionAsync() [1/2]

::std::function<void()> Glacier2::RouterPrx::createSessionAsync ( const ::std::string &  userId,
const ::std::string &  password,
::std::function< void(::std::shared_ptr<::Glacier2::SessionPrx >)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const ::Ice::Context context = ::Ice::noExplicitContext 
)
inline

Create a per-client session with the router.

If a SessionManager has been installed, a proxy to a Session object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

If a session proxy is returned, it must be configured to route through the router that created it. This will happen automatically if the router is configured as the client's default router at the time the session proxy is created in the client process, otherwise the client must configure the session proxy explicitly.

Parameters
userIdThe user id for which to check the password.
passwordThe password for the given user id.
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.
See also
Session
SessionManager
PermissionsVerifier

◆ createSessionAsync() [2/2]

template<template< typename > class P = ::std::promise>
auto Glacier2::RouterPrx::createSessionAsync ( const ::std::string &  userId,
const ::std::string &  password,
const ::Ice::Context context = ::Ice::noExplicitContext 
) -> decltype(::std::declval<P<::std::shared_ptr<::Glacier2::SessionPrx>>>().get_future())
inline

Create a per-client session with the router.

If a SessionManager has been installed, a proxy to a Session object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

If a session proxy is returned, it must be configured to route through the router that created it. This will happen automatically if the router is configured as the client's default router at the time the session proxy is created in the client process, otherwise the client must configure the session proxy explicitly.

Parameters
userIdThe user id for which to check the password.
passwordThe password for the given user id.
contextThe Context map to send with the invocation.
Returns
The future object for the invocation.
See also
Session
SessionManager
PermissionsVerifier

◆ createSessionFromSecureConnection()

::std::shared_ptr<SessionPrx> Glacier2::RouterPrx::createSessionFromSecureConnection ( const ::Ice::Context context = ::Ice::noExplicitContext)
inline

Create a per-client session with the router.

The user is authenticated through the SSL certificates that have been associated with the connection. If a SessionManager has been installed, a proxy to a Session object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

If a session proxy is returned, it must be configured to route through the router that created it. This will happen automatically if the router is configured as the client's default router at the time the session proxy is created in the client process, otherwise the client must configure the session proxy explicitly.

Parameters
contextThe Context map to send with the invocation.
Returns
A proxy for the newly created session, or null if no SessionManager has been installed.
Exceptions
Glacier2::CannotCreateSessionExceptionRaised if the session cannot be created.
Glacier2::PermissionDeniedExceptionRaised if the user cannot be authenticated or if the user is not allowed access.
See also
Session
SessionManager
PermissionsVerifier

◆ createSessionFromSecureConnectionAsync() [1/2]

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

Create a per-client session with the router.

The user is authenticated through the SSL certificates that have been associated with the connection. If a SessionManager has been installed, a proxy to a Session object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

If a session proxy is returned, it must be configured to route through the router that created it. This will happen automatically if the router is configured as the client's default router at the time the session proxy is created in the client process, otherwise the client must configure the session proxy explicitly.

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.
See also
Session
SessionManager
PermissionsVerifier

◆ createSessionFromSecureConnectionAsync() [2/2]

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

Create a per-client session with the router.

The user is authenticated through the SSL certificates that have been associated with the connection. If a SessionManager has been installed, a proxy to a Session object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not visible to the client) is created.

If a session proxy is returned, it must be configured to route through the router that created it. This will happen automatically if the router is configured as the client's default router at the time the session proxy is created in the client process, otherwise the client must configure the session proxy explicitly.

Parameters
contextThe Context map to send with the invocation.
Returns
The future object for the invocation.
See also
Session
SessionManager
PermissionsVerifier

◆ destroySession()

void Glacier2::RouterPrx::destroySession ( const ::Ice::Context context = ::Ice::noExplicitContext)
inline

Destroy the calling client's session with this router.

Parameters
contextThe Context map to send with the invocation.
Exceptions
Glacier2::SessionNotExistExceptionRaised if no session exists for the calling client.

◆ destroySessionAsync() [1/2]

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

Destroy the calling client's session with this 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.

◆ destroySessionAsync() [2/2]

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

Destroy the calling client's session with this router.

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

◆ getACMTimeout()

int Glacier2::RouterPrx::getACMTimeout ( const ::Ice::Context context = ::Ice::noExplicitContext)
inline

Get the value of the ACM timeout.

Clients supporting connection heartbeats can enable them instead of explicitly sending keep alives requests.

NOTE: This method is only available since Ice 3.6.

Parameters
contextThe Context map to send with the invocation.
Returns
The timeout (in seconds).

◆ getACMTimeoutAsync() [1/2]

::std::function<void()> Glacier2::RouterPrx::getACMTimeoutAsync ( ::std::function< void(int)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const ::Ice::Context context = ::Ice::noExplicitContext 
)
inline

Get the value of the ACM timeout.

Clients supporting connection heartbeats can enable them instead of explicitly sending keep alives requests.

NOTE: This method is only available since Ice 3.6.

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.

◆ getACMTimeoutAsync() [2/2]

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

Get the value of the ACM timeout.

Clients supporting connection heartbeats can enable them instead of explicitly sending keep alives requests.

NOTE: This method is only available since Ice 3.6.

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

◆ getCategoryForClient()

::std::string Glacier2::RouterPrx::getCategoryForClient ( const ::Ice::Context context = ::Ice::noExplicitContext)
inline

This category must be used in the identities of all of the client's callback objects.

This is necessary in order for the router to forward callback requests to the intended client. If the Glacier2 server endpoints are not set, the returned category is an empty string.

Parameters
contextThe Context map to send with the invocation.
Returns
The category.

◆ getCategoryForClientAsync() [1/2]

::std::function<void()> Glacier2::RouterPrx::getCategoryForClientAsync ( ::std::function< void(::std::string)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const ::Ice::Context context = ::Ice::noExplicitContext 
)
inline

This category must be used in the identities of all of the client's callback objects.

This is necessary in order for the router to forward callback requests to the intended client. If the Glacier2 server endpoints are not set, the returned category is an empty string.

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.

◆ getCategoryForClientAsync() [2/2]

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

This category must be used in the identities of all of the client's callback objects.

This is necessary in order for the router to forward callback requests to the intended client. If the Glacier2 server endpoints are not set, the returned category is an empty string.

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

◆ getSessionTimeout()

long long int Glacier2::RouterPrx::getSessionTimeout ( const ::Ice::Context context = ::Ice::noExplicitContext)
inline

Get the value of the session timeout.

Sessions are destroyed if they see no activity for this period of time.

Parameters
contextThe Context map to send with the invocation.
Returns
The timeout (in seconds).

◆ getSessionTimeoutAsync() [1/2]

::std::function<void()> Glacier2::RouterPrx::getSessionTimeoutAsync ( ::std::function< void(long long int)>  response,
::std::function< void(::std::exception_ptr)>  ex = nullptr,
::std::function< void(bool)>  sent = nullptr,
const ::Ice::Context context = ::Ice::noExplicitContext 
)
inline

Get the value of the session timeout.

Sessions are destroyed if they see no activity for this period of time.

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.

◆ getSessionTimeoutAsync() [2/2]

template<template< typename > class P = ::std::promise>
auto Glacier2::RouterPrx::getSessionTimeoutAsync ( const ::Ice::Context context = ::Ice::noExplicitContext) -> decltype(::std::declval<P<long long int>>().get_future())
inline

Get the value of the session timeout.

Sessions are destroyed if they see no activity for this period of time.

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

◆ ice_staticId()

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

Obtains the Slice type ID of this interface.

Returns
The fully-scoped type ID.

◆ refreshSession()

void Glacier2::RouterPrx::refreshSession ( const ::Ice::Context context = ::Ice::noExplicitContext)
inline

Keep the calling client's session with this router alive.

Parameters
contextThe Context map to send with the invocation.
Exceptions
Glacier2::SessionNotExistExceptionRaised if no session exists for the calling client.

◆ refreshSessionAsync() [1/2]

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

Keep the calling client's session with this router alive.

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.

◆ refreshSessionAsync() [2/2]

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

Keep the calling client's session with this router alive.

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

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