Ice Reference Documentation
<<< Previous | Slice Documentation | Next >>>

# `Glacier2::Router`

## Overview

    interface Router
        extends
    	::Ice::Router

The Glacier2 specialization of the standard Ice router interface.

### Operation Index

`createSession`

  Create a per-client session with the router.

`destroySession`

  Destroy the calling client's session with this router.

## `createSession`

    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.

### Parameters

`userId`

  The user id for which to check the password.

`password`

  The password for the given user id.

### Return Value

A proxy for the newly created session, or null if no `SessionManager` has been installed.

### Exceptions

`PermissionDeniedException`

  Raised if the password for the given user id is not correct, or if the user is not allowed access.

`CannotCreateSessionException`

  Raised if the session cannot be created.

### See Also

`Session`, `SessionManager`, `PermissionsVerifier`

## `destroySession`

    [ "amd" ]
    void destroySession()
        throws
    	SessionNotExistException;

Destroy the calling client's session with this router.

### Exceptions

`SessionNotExistException`

  Raised if no session exists for the calling client.

<<< Previous | Home | Next >>>
`Glacier2::PermissionsVerifier` | Up | `Glacier2::Session`