|
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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| virtual void | keepAlive (const ::Ice::Current ¤t)=0 |
| Keep the session alive. | |
| virtual void | releaseObject (::Ice::Identity id, const ::Ice::Current ¤t)=0 |
Release an object that was allocated using allocateObjectById or allocateObjectByType. | |
| virtual void | setAllocationTimeout (int timeout, const ::Ice::Current ¤t)=0 |
| Set the allocation timeout. | |
| Public Member Functions inherited from Glacier2::Session | |
| virtual void | destroy (const ::Ice::Current ¤t)=0 |
| Destroy the session. | |
| 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. | |
| 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. | |
| 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. | |
| virtual std::string | ice_id (const Current ¤t) const |
| Returns the Slice type ID of the most-derived interface supported by this object. | |
| virtual std::vector< std::string > | ice_ids (const Current ¤t) const |
| Returns the Slice type IDs of the interfaces supported by this object. | |
| virtual bool | ice_isA (std::string s, const Current ¤t) const |
| Tests whether this object supports a specific Slice interface. | |
| virtual void | ice_ping (const Current ¤t) const |
| Tests whether this object can be reached. | |
| virtual | ~Object ()=default |
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. | |
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. |