Ice 3.7 C++98 API Reference
Loading...
Searching...
No Matches
IceGrid::Session Class Referenceabstract

A session object is used by IceGrid clients to allocate and release objects. More...

#include <IceGrid/IceGrid.h>

Inheritance diagram for IceGrid::Session:
Collaboration diagram for IceGrid::Session:

Public Types

typedef SessionPtr PointerType
typedef SessionPrx ProxyType
Public Types inherited from Glacier2::Session
typedef SessionPtr PointerType
typedef SessionPrx ProxyType

Public Member Functions

virtual void allocateObjectById_async (const ::IceGrid::AMD_Session_allocateObjectByIdPtr &cb, const ::Ice::Identity &id, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Allocate an object.
virtual void allocateObjectByType_async (const ::IceGrid::AMD_Session_allocateObjectByTypePtr &cb, const ::std::string &type, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Allocate an object with the given type.
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 keepAlive (const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Keep the session alive.
virtual void releaseObject (const ::Ice::Identity &id, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Release an object that was allocated using allocateObjectById or allocateObjectByType.
virtual void setAllocationTimeout (::Ice::Int timeout, const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Set the allocation timeout.
virtual ~Session ()
Public Member Functions inherited from Glacier2::Session
virtual void destroy (const ::Ice::Current &current=::Ice::emptyCurrent)=0
 Destroy the session.
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.
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 const std::string & ice_id (const Current &current=Ice::emptyCurrent) const
 Returns the Slice type ID of the most-derived interface supported by this object.
virtual std::vector< std::string > ice_ids (const Current &current=Ice::emptyCurrent) const
 Returns the Slice type IDs of the interfaces supported by this object.
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 Glacier2::Session
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

A session object is used by IceGrid clients to allocate and release objects.

Client sessions are created either via the Registry object or via the registry client SessionManager object.

See also
Registry

Member Typedef Documentation

◆ PointerType

◆ ProxyType

Constructor & Destructor Documentation

◆ ~Session()

virtual IceGrid::Session::~Session ( )
virtual

Reimplemented from Glacier2::Session.

Member Function Documentation

◆ allocateObjectById_async()

virtual void IceGrid::Session::allocateObjectById_async ( const ::IceGrid::AMD_Session_allocateObjectByIdPtr & cb,
const ::Ice::Identity & id,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Allocate an object.

Depending on the allocation timeout, this operation might hang until the object is available or until the timeout is reached.

Parameters
cbThe AMD callback object for the invocation.
idThe identity of the object to allocate.
currentThe Current object for the invocation.
Exceptions
IceGrid::AllocationExceptionRaised if the object can't be allocated.
IceGrid::ObjectNotRegisteredExceptionRaised if the object with the given identity is not registered with the registry.
See also
setAllocationTimeout
releaseObject

◆ allocateObjectByType_async()

virtual void IceGrid::Session::allocateObjectByType_async ( const ::IceGrid::AMD_Session_allocateObjectByTypePtr & cb,
const ::std::string & type,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Allocate an object with the given type.

Depending on the allocation timeout, this operation can block until an object becomes available or until the timeout is reached.

Parameters
cbThe AMD callback object for the invocation.
typeThe type of the object.
currentThe Current object for the invocation.
Exceptions
IceGrid::AllocationExceptionRaised if the object could not be allocated.
See also
setAllocationTimeout
releaseObject

◆ ice_id()

virtual const ::std::string & IceGrid::Session::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.

Reimplemented from Glacier2::Session.

◆ ice_ids()

virtual ::std::vector< ::std::string > IceGrid::Session::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 IceGrid::Session::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.

Reimplemented from Glacier2::Session.

◆ ice_staticId()

const ::std::string & IceGrid::Session::ice_staticId ( )
static

Obtains the Slice type ID corresponding to this class.

Returns
A fully-scoped type ID.

◆ keepAlive()

virtual void IceGrid::Session::keepAlive ( const ::Ice::Current & current = ::Ice::emptyCurrent)
pure virtual

Keep the session alive.

Clients should call this operation regularly to prevent the server from reaping the session.

Parameters
currentThe Current object for the invocation.
See also
Registry::getSessionTimeout

◆ releaseObject()

virtual void IceGrid::Session::releaseObject ( const ::Ice::Identity & id,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Release an object that was allocated using allocateObjectById or allocateObjectByType.

Parameters
idThe identity of the object to release.
currentThe Current object for the invocation.
Exceptions
IceGrid::AllocationExceptionRaised if the given object can't be released. This might happen if the object isn't allocatable or isn't allocated by the session.
IceGrid::ObjectNotRegisteredExceptionRaised if the object with the given identity is not registered with the registry.

◆ setAllocationTimeout()

virtual void IceGrid::Session::setAllocationTimeout ( ::Ice::Int timeout,
const ::Ice::Current & current = ::Ice::emptyCurrent )
pure virtual

Set the allocation timeout.

If no objects are available for an allocation request, a call to allocateObjectById or allocateObjectByType will block for the duration of this timeout.

Parameters
timeoutThe timeout in milliseconds.
currentThe Current object for the invocation.

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