Ice 3.7 C++98 API Reference
Loading...
Searching...
No Matches
Glacier2::Router Class Referenceabstract

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

#include <Glacier2/Glacier2.h>

Inheritance diagram for Glacier2::Router:
Collaboration diagram for Glacier2::Router:

Public Types

typedef RouterPtr PointerType
typedef RouterPrx ProxyType
Public Types inherited from Ice::Router
typedef RouterPtr PointerType
typedef RouterPrx ProxyType

Public Member Functions

virtual void createSession_async (const ::Glacier2::AMD_Router_createSessionPtr &cb, const ::std::string &userId, const ::std::string &password, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Create a per-client session with the router.
virtual void createSessionFromSecureConnection_async (const ::Glacier2::AMD_Router_createSessionFromSecureConnectionPtr &cb, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Create a per-client session with the router.
virtual void destroySession (const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Destroy the calling client's session with this router.
virtual::Ice::Int getACMTimeout (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Get the value of the ACM timeout.
virtual::std::string getCategoryForClient (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 This category must be used in the identities of all of the client's callback objects.
virtual::Ice::Long getSessionTimeout (const ::Ice::Current &current=::Ice::emptyCurrent) const =0
 Get the value of the session timeout.
virtual const ::std::string & ice_id (const ::Ice::Current &current=::Ice::emptyCurrent) const
 Obtains a Slice type ID representing the most-derived interface supported by this object.
virtual ::std::vector< ::std::string > ice_ids (const ::Ice::Current &current=::Ice::emptyCurrent) const
 Obtains a list of the Slice type IDs representing the interfaces supported by this object.
virtual bool ice_isA (const ::std::string &id, const ::Ice::Current &current=::Ice::emptyCurrent) const
 Determines whether this object supports an interface with the given Slice type ID.
virtual void refreshSession_async (const ::Glacier2::AMD_Router_refreshSessionPtr &cb, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Keep the calling client's session with this router alive.
virtual ~Router ()
Public Member Functions inherited from Ice::Router
virtual ObjectProxySeq addProxies (const ObjectProxySeq &proxies, const Current &current=emptyCurrent)=0
 Add new proxy information to the router's routing table.
virtual ObjectPrx getClientProxy (IceUtil::Optional< bool > &hasRoutingTable, const Current &current=emptyCurrent) const =0
 Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router.
virtual ObjectPrx getServerProxy (const Current &current=emptyCurrent) const =0
 Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router.
virtual const ::std::string & ice_id (const Current &current=emptyCurrent) const
 Obtains a Slice type ID representing the most-derived interface supported by this object.
virtual ::std::vector< ::std::string > ice_ids (const Current &current=emptyCurrent) const
 Obtains a list of the Slice type IDs representing the interfaces supported by this object.
virtual bool ice_isA (const ::std::string &id, const Current &current=emptyCurrent) const
 Determines whether this object supports an interface with the given Slice type ID.
Public Member Functions inherited from Ice::Object
virtual ObjectPtr ice_clone () const
 Returns a shallow copy of the object.
virtual void ice_collectable (bool b)
 Determines whether this object, and by extension the graph of all objects reachable from this object, are eligible for garbage collection when all external references to the graph have been released.
virtual bool ice_dispatch (Ice::Request &request, const DispatchInterceptorAsyncCallbackPtr &cb=0)
 Dispatches an invocation to a servant.
virtual SlicedDataPtr ice_getSlicedData () const
 Obtains the sliced data associated with this instance.
virtual bool ice_isA (const std::string &s, const Current &current=Ice::emptyCurrent) const
 Tests whether this object supports a specific Slice interface.
virtual Int ice_operationAttributes (const std::string &operation) const
 Returns the Freeze metadata attributes for an operation.
virtual void ice_ping (const Current &current=Ice::emptyCurrent) const
 Tests whether this object can be reached.
virtual void ice_postUnmarshal ()
 The Ice run time invokes this method vafter unmarshaling an object's data members.
virtual void ice_preMarshal ()
 The Ice run time invokes this method prior to marshaling an object's data members.
virtual bool operator< (const Object &) const
virtual bool operator== (const Object &) const
Public Member Functions inherited from IceUtil::Shared
void __clearFlag (unsigned char flag)
virtual void __decRef ()
virtual int __getRef () const
bool __hasFlag (unsigned char flag)
virtual void __incRef ()
void __setFlag (unsigned char flag)
virtual void __setNoDelete (bool)
Sharedoperator= (const Shared &)
 Shared ()
 Shared (const Shared &)
virtual ~Shared ()

Static Public Member Functions

static const ::std::string & ice_staticId ()
 Obtains the Slice type ID corresponding to this class.
Static Public Member Functions inherited from Ice::Router
static const ::std::string & ice_staticId ()
 Obtains the Slice type ID corresponding to this class.
Static Public Member Functions inherited from Ice::Object
static const std::string & ice_staticId ()
 Obtains the Slice type ID of this type.

Additional Inherited Members

Static Public Attributes inherited from IceUtil::Shared
static const unsigned char NoDelete
Protected Member Functions inherited from Ice::Object
 Object ()
virtual ~Object ()
Protected Attributes inherited from IceUtil::Shared
unsigned char _flags
IceUtilInternal::Atomic _ref

Detailed Description

The Glacier2 specialization of the Ice::Router interface.

Member Typedef Documentation

◆ PointerType

◆ ProxyType

Constructor & Destructor Documentation

◆ ~Router()

virtual Glacier2::Router::~Router ( )
virtual

Reimplemented from Ice::Router.

Member Function Documentation

◆ createSession_async()

virtual void Glacier2::Router::createSession_async ( const ::Glacier2::AMD_Router_createSessionPtr & cb,
const ::std::string & userId,
const ::std::string & password,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

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
cbThe AMD callback object for the invocation.
userIdThe user id for which to check the password.
passwordThe password for the given user id.
currentThe Current object for the invocation.
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

◆ createSessionFromSecureConnection_async()

virtual void Glacier2::Router::createSessionFromSecureConnection_async ( const ::Glacier2::AMD_Router_createSessionFromSecureConnectionPtr & cb,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

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
cbThe AMD callback object for the invocation.
currentThe Current object for the invocation.
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

◆ destroySession()

virtual void Glacier2::Router::destroySession ( const ::Ice::Current & current = ::Ice::emptyCurrent)
pure virtual

Destroy the calling client's session with this router.

Parameters
currentThe Current object for the invocation.
Exceptions
Glacier2::SessionNotExistExceptionRaised if no session exists for the calling client.

◆ getACMTimeout()

virtual::Ice::Int Glacier2::Router::getACMTimeout ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

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
currentThe Current object for the invocation.
Returns
The timeout (in seconds).

◆ getCategoryForClient()

virtual::std::string Glacier2::Router::getCategoryForClient ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

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
currentThe Current object for the invocation.
Returns
The category.

◆ getSessionTimeout()

virtual::Ice::Long Glacier2::Router::getSessionTimeout ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
pure virtual

Get the value of the session timeout.

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

Parameters
currentThe Current object for the invocation.
Returns
The timeout (in seconds).

◆ ice_id()

virtual const ::std::string & Glacier2::Router::ice_id ( const ::Ice::Current & current = ::Ice::emptyCurrent) const
virtual

Obtains a Slice type ID representing the most-derived interface supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
A fully-scoped type ID.

◆ ice_ids()

virtual ::std::vector< ::std::string > Glacier2::Router::ice_ids ( const ::Ice::Current & current = ::Ice::emptyCurrent) const

Obtains a list of the Slice type IDs representing the interfaces supported by this object.

Parameters
currentThe Current object for the invocation.
Returns
A list of fully-scoped type IDs.

◆ ice_isA()

virtual bool Glacier2::Router::ice_isA ( const ::std::string & id,
const ::Ice::Current & current = ::Ice::emptyCurrent ) const
virtual

Determines whether this object supports an interface with the given Slice type ID.

Parameters
idThe fully-scoped Slice type ID.
currentThe Current object for the invocation.
Returns
True if this object supports the interface, false, otherwise.

◆ ice_staticId()

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

Obtains the Slice type ID corresponding to this class.

Returns
A fully-scoped type ID.

◆ refreshSession_async()

virtual void Glacier2::Router::refreshSession_async ( const ::Glacier2::AMD_Router_refreshSessionPtr & cb,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

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

Parameters
cbThe AMD callback object for the invocation.
currentThe Current object for the invocation.
Exceptions
Glacier2::SessionNotExistExceptionRaised if no session exists for the calling client.

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