Ice 3.7 C++11 API Reference
|
A session object is used by IceGrid clients to allocate and release objects. More...
#include <IceGrid/IceGrid.h>
Public Types | |
using | ProxyType = SessionPrx |
Public Types inherited from Glacier2::Session | |
using | ProxyType = SessionPrx |
Public Member Functions | |
virtual void | allocateObjectByIdAsync (::Ice::Identity id, ::std::function< void(const ::std::shared_ptr<::Ice::ObjectPrx > &returnValue)> response, ::std::function< void(::std::exception_ptr)> exception, const ::Ice::Current ¤t)=0 |
Allocate an object. More... | |
virtual void | allocateObjectByTypeAsync (::std::string type, ::std::function< void(const ::std::shared_ptr<::Ice::ObjectPrx > &returnValue)> response, ::std::function< void(::std::exception_ptr)> exception, const ::Ice::Current ¤t)=0 |
Allocate an object with the given type. More... | |
virtual ::std::string | ice_id (const ::Ice::Current ¤t) const override |
Obtains a Slice type ID representing the most-derived interface supported by this object. More... | |
virtual ::std::vector<::std::string > | ice_ids (const ::Ice::Current ¤t) const override |
Obtains a list of the Slice type IDs representing the interfaces supported by this object. More... | |
virtual bool | ice_isA (::std::string id, const ::Ice::Current ¤t) const override |
Determines whether this object supports an interface with the given Slice type ID. More... | |
virtual void | keepAlive (const ::Ice::Current ¤t)=0 |
Keep the session alive. More... | |
virtual void | releaseObject (::Ice::Identity id, const ::Ice::Current ¤t)=0 |
Release an object that was allocated using allocateObjectById or allocateObjectByType . More... | |
virtual void | setAllocationTimeout (int timeout, const ::Ice::Current ¤t)=0 |
Set the allocation timeout. More... | |
Public Member Functions inherited from Glacier2::Session | |
virtual void | destroy (const ::Ice::Current ¤t)=0 |
Destroy the session. More... | |
virtual ::std::string | ice_id (const ::Ice::Current ¤t) const override |
Obtains a Slice type ID representing the most-derived interface supported by this object. More... | |
virtual ::std::vector<::std::string > | ice_ids (const ::Ice::Current ¤t) const override |
Obtains a list of the Slice type IDs representing the interfaces supported by this object. More... | |
Public Member Functions inherited from Ice::Object | |
virtual bool | ice_dispatch (Ice::Request &request, std::function< bool()> response=nullptr, std::function< bool(std::exception_ptr)> error=nullptr) |
Dispatches an invocation to a servant. More... | |
virtual std::string | ice_id (const Current ¤t) const |
Returns the Slice type ID of the most-derived interface supported by this object. More... | |
virtual std::vector< std::string > | ice_ids (const Current ¤t) const |
Returns the Slice type IDs of the interfaces supported by this object. More... | |
virtual bool | ice_isA (std::string s, const Current ¤t) const |
Tests whether this object supports a specific Slice interface. More... | |
virtual void | ice_ping (const Current ¤t) const |
Tests whether this object can be reached. More... | |
virtual | ~Object ()=default |
Static Public Member Functions | |
static const ::std::string & | ice_staticId () |
Obtains the Slice type ID corresponding to this class. More... | |
Static Public Member Functions inherited from Glacier2::Session | |
static const ::std::string & | ice_staticId () |
Obtains the Slice type ID corresponding to this class. More... | |
Static Public Member Functions inherited from Ice::Object | |
static const std::string & | ice_staticId () |
Obtains the Slice type ID of this type. More... | |
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.
|
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.
id | The identity of the object to allocate. |
response | The response callback. |
exception | The exception callback. |
current | The Current object for the invocation. |
IceGrid::AllocationException | Raised if the object can't be allocated. |
IceGrid::ObjectNotRegisteredException | Raised if the object with the given identity is not registered with the registry. |
|
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.
type | The type of the object. |
response | The response callback. |
exception | The exception callback. |
current | The Current object for the invocation. |
IceGrid::AllocationException | Raised if the object could not be allocated. |
|
override |
Obtains a Slice type ID representing the most-derived interface supported by this object.
current | The Current object for the invocation. |
|
override |
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
current | The Current object for the invocation. |
|
overridevirtual |
Determines whether this object supports an interface with the given Slice type ID.
id | The fully-scoped Slice type ID. |
current | The Current object for the invocation. |
Reimplemented from Glacier2::Session.
|
static |
Obtains the Slice type ID corresponding to this class.
|
pure virtual |
Keep the session alive.
Clients should call this operation regularly to prevent the server from reaping the session.
current | The Current object for the invocation. |
|
pure virtual |
Release an object that was allocated using allocateObjectById
or allocateObjectByType
.
id | The identity of the object to release. |
current | The Current object for the invocation. |
IceGrid::AllocationException | Raised 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::ObjectNotRegisteredException | Raised if the object with the given identity is not registered with the registry. |
|
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.
timeout | The timeout in milliseconds. |
current | The Current object for the invocation. |