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

The Ice router interface. More...

#include <Ice/Ice.h>

Inheritance diagram for Ice::Router:
Collaboration diagram for Ice::Router:

Public Types

typedef RouterPtr PointerType
typedef RouterPrx ProxyType

Public Member Functions

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.
virtual ~Router ()
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::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 Ice router interface.

Routers can be set either globally with Communicator#setDefaultRouter, or with ice_router on specific proxies.

Member Typedef Documentation

◆ PointerType

◆ ProxyType

Constructor & Destructor Documentation

◆ ~Router()

virtual Ice::Router::~Router ( )
virtual

Reimplemented in Glacier2::Router.

Member Function Documentation

◆ addProxies()

virtual ObjectProxySeq Ice::Router::addProxies ( const ObjectProxySeq & proxies,
const Current & current = emptyCurrent )
pure virtual

Add new proxy information to the router's routing table.

Parameters
proxiesThe proxies to add.
currentThe Current object for the invocation.
Returns
Proxies discarded by the router.

◆ getClientProxy()

virtual ObjectPrx Ice::Router::getClientProxy ( IceUtil::Optional< bool > & hasRoutingTable,
const Current & current = emptyCurrent ) const
pure virtual

Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the router.

If a null proxy is returned, the client will forward requests to the router's endpoints.

Parameters
hasRoutingTableIndicates whether or not the router supports a routing table. If it is supported, the Ice runtime will call addProxies to populate the routing table. This out parameter is only supported starting with Ice 3.7. The Ice runtime assumes the router has a routing table if the optional is not set.
currentThe Current object for the invocation.
Returns
The router's client proxy.

◆ getServerProxy()

virtual ObjectPrx Ice::Router::getServerProxy ( const Current & current = emptyCurrent) const
pure virtual

Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the router.

Parameters
currentThe Current object for the invocation.
Returns
The router's server proxy.

◆ ice_id()

virtual const ::std::string & Ice::Router::ice_id ( const Current & current = 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 Ice::Object.

◆ ice_ids()

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

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.

Reimplemented from Ice::Object.

◆ ice_isA()

virtual bool Ice::Router::ice_isA ( const ::std::string & id,
const Current & current = 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 & Ice::Router::ice_staticId ( )
static

Obtains the Slice type ID corresponding to this class.

Returns
A fully-scoped type ID.

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