Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
Ice::Communicator Class Referencefinal

Communicator is the central object in Ice. More...

#include <Ice/Ice.h>

Inheritance diagram for Ice::Communicator:

Public Member Functions

void addAdminFacet (ObjectPtr servant, std::string facet)
 Adds a new facet to the Admin object.
void addSliceLoader (SliceLoaderPtr loader) noexcept
 Adds a Slice loader to this communicator, after the Slice loader set in InitializationData (if any) and after other Slice loaders added by this function.
ObjectPrx createAdmin (const ObjectAdapterPtr &adminAdapter, const Identity &adminId)
 Adds the Admin object with all its facets to the provided object adapter.
ObjectAdapterPtr createObjectAdapter (std::string name, std::optional< SSL::ServerAuthenticationOptions > serverAuthenticationOptions=std::nullopt)
 Creates a new object adapter.
ObjectAdapterPtr createObjectAdapterWithEndpoints (std::string name, std::string_view endpoints, std::optional< SSL::ServerAuthenticationOptions > serverAuthenticationOptions=std::nullopt)
 Creates a new object adapter with endpoints.
ObjectAdapterPtr createObjectAdapterWithRouter (std::string name, RouterPrx rtr)
 Creates a new object adapter with a router.
void destroy () noexcept
 Destroys this communicator.
void destroyAsync (std::function< void()> completed) noexcept
 Destroys this communicator asynchronously.
template<typename T = Object, std::enable_if_t< std::is_base_of_v< Object, T >, bool > = true>
std::shared_ptr< T > findAdminFacet (std::string_view facet)
 Returns a facet of the Admin object.
FacetMap findAllAdminFacets ()
 Returns a map of all facets of the Admin object.
void flushBatchRequests (CompressBatch compress)
 Flushes any pending batch requests of this communicator.
std::future< void > flushBatchRequestsAsync (CompressBatch compress)
 Flushes any pending batch requests of this communicator.
std::function< void()> flushBatchRequestsAsync (CompressBatch compress, std::function< void(std::exception_ptr)> exception, std::function< void(bool)> sent=nullptr)
 Flushes any pending batch requests of this communicator.
std::optional< ObjectPrxgetAdmin () const
 Gets a proxy to the main facet of the Admin object.
std::optional< Ice::LocatorPrxgetDefaultLocator () const
 Gets the default locator of this communicator.
ObjectAdapterPtr getDefaultObjectAdapter () const
 Gets the object adapter that is associated by default with new outgoing connections created by this communicator.
std::optional< RouterPrxgetDefaultRouter () const
 Gets the default router of this communicator.
ImplicitContextPtr getImplicitContext () const noexcept
 Gets the implicit context associated with this communicator.
LoggerPtr getLogger () const noexcept
 Gets the logger of this communicator.
Instrumentation::CommunicatorObserverPtr getObserver () const noexcept
 Gets the observer object of this communicator.
PluginManagerPtr getPluginManager () const
 Gets the plug-in manager of this communicator.
PropertiesPtr getProperties () const noexcept
 Gets the properties of this communicator.
std::string identityToString (const Identity &ident) const
 Converts an identity into a string.
bool isShutdown () const noexcept
 Checks whether or not shutdown was called on this communicator.
template<typename Prx = ObjectPrx, std::enable_if_t< std::is_base_of_v< ObjectPrx, Prx >, bool > = true>
std::optional< Prx > propertyToProxy (std::string_view property) const
 Converts a set of proxy properties into a proxy.
PropertyDict proxyToProperty (const std::optional< ObjectPrx > &proxy, std::string property) const
 Converts a proxy into a set of proxy properties.
std::string proxyToString (const std::optional< ObjectPrx > &obj) const
 Converts a proxy into a string.
ObjectPtr removeAdminFacet (std::string_view facet)
 Removes a facet from the Admin object.
void setDefaultLocator (const std::optional< LocatorPrx > &loc)
 Sets the default locator of this communicator.
void setDefaultObjectAdapter (ObjectAdapterPtr adapter)
 Sets the object adapter that will be associated with new outgoing connections created by this communicator.
void setDefaultRouter (const std::optional< RouterPrx > &rtr)
 Sets the default router of this communicator.
void shutdown () noexcept
 Shuts down this communicator.
template<typename Prx = ObjectPrx, std::enable_if_t< std::is_base_of_v< ObjectPrx, Prx >, bool > = true>
std::optional< Prx > stringToProxy (std::string_view str) const
 Converts a stringified proxy into a proxy.
void waitForShutdown () noexcept
 Waits for shutdown to complete.
void waitForShutdownAsync (std::function< void()> completed) noexcept
 Waits until this communicator is shut down.

Detailed Description

Communicator is the central object in Ice.

Its responsibilities include:

  • creating and managing outgoing connections
  • executing callbacks in its client thread pool
  • creating and destroying object adapters
  • loading plug-ins
  • managing properties (configuration), retries, logging, instrumentation, and more. You create a communicator with Ice::initialize, and it's usually the first object you create when programming with Ice. You can create multiple communicators in a single program, but this is not common.
    See also
    initialize(int&, const char*[], InitializationData)
    initialize(InitializationData)

Definition at line 34 of file Communicator.h.


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