Ice 3.7 Slice API Reference
Operations | List of all members
Glacier2::Router Interface Reference

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

defined in <Glacier2/Router.ice>

interface Router extends Ice::Router { ... }

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

Operations

SessioncreateSession (string userId, string password) throws PermissionDeniedException, CannotCreateSessionException
 Create a per-client session with the router. More...
 
SessioncreateSessionFromSecureConnection () throws PermissionDeniedException, CannotCreateSessionException
 Create a per-client session with the router. More...
 
void destroySession () throws SessionNotExistException
 Destroy the calling client's session with this router. More...
 
idempotent int getACMTimeout ()
 Get the value of the ACM timeout. More...
 
idempotent string getCategoryForClient ()
 This category must be used in the identities of all of the client's callback objects. More...
 
idempotent long getSessionTimeout ()
 Get the value of the session timeout. More...
 
void refreshSession () throws SessionNotExistException
 Keep the calling client's session with this router alive. More...
 
- Operations inherited from Ice::Router
idempotent ObjectProxySeq addProxies (ObjectProxySeq proxies)
 Add new proxy information to the router's routing table. More...
 
idempotent Object * getClientProxy (out optional(1) bool hasRoutingTable)
 Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router. More...
 
idempotent Object * getServerProxy ()
 Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router. More...
 

Detailed Description

The Glacier2 specialization of the Ice::Router interface.

Operation Documentation

◆ createSession()

["amd","format:sliced"]
Session* createSession ( string  userId,
string  password 
) throws PermissionDeniedException, CannotCreateSessionException

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.

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

◆ createSessionFromSecureConnection()

["amd","format:sliced"]
Session* createSessionFromSecureConnection ( ) throws PermissionDeniedException, CannotCreateSessionException

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.

See also
Session
SessionManager
PermissionsVerifier
Returns
A proxy for the newly created session, or null if no SessionManager has been installed.
Exceptions
PermissionDeniedExceptionRaised if the user cannot be authenticated or if the user is not allowed access.
CannotCreateSessionExceptionRaised if the session cannot be created.

◆ destroySession()

void destroySession ( ) throws SessionNotExistException

Destroy the calling client's session with this router.

Exceptions
SessionNotExistExceptionRaised if no session exists for the calling client.

◆ getACMTimeout()

["nonmutating","cpp:const"]
idempotent int getACMTimeout ( )

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.

Returns
The timeout (in seconds).

◆ getCategoryForClient()

["nonmutating","cpp:const"]
idempotent string getCategoryForClient ( )

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.

Returns
The category.

◆ getSessionTimeout()

["nonmutating","cpp:const"]
idempotent long getSessionTimeout ( )

Get the value of the session timeout.

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

Returns
The timeout (in seconds).

◆ refreshSession()

["amd"]
void refreshSession ( ) throws SessionNotExistException

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

Exceptions
SessionNotExistExceptionRaised if no session exists for the calling client.

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