Ice 3.7 Slice API Reference
Modules | Interfaces | Classes | Structs | Exceptions | Sequences | Dictionaries | Enumerations | Constants
Ice Module Reference

The Ice core library. More...

[["cpp:dll-export:ICE_API"]][["cpp:doxygen:include:Ice/Ice.h"]][["cpp:header-ext:h"]][["ice-prefix"]][["js:module:ice"]][["js:cjs-module"]][["objc:dll-export:ICE_API"]][["objc:header-dir:objc"]][["python:pkgdir:Ice"]][["java:package:com.zeroc"]]["objc:prefix:ICE"]
module Ice { ... }

Modules

 Instrumentation
 The Instrumentation local interfaces enable observing a number of Ice core internal components (threads, connections, etc).
 

Interfaces

local interface  CloseCallback
 An application can implement this interface to receive notifications when a connection closes. More...
 
local interface  Communicator
 The central object in Ice. More...
 
local interface  Connection
 The user-level interface to a connection. More...
 
local interface  Endpoint
 The user-level interface to an endpoint. More...
 
local interface  HeartbeatCallback
 An application can implement this interface to receive notifications when a connection receives a heartbeat message. More...
 
local interface  ImplicitContext
 An interface to associate implict contexts with communicators. More...
 
interface  Locator
 The Ice locator interface. More...
 
interface  LocatorFinder
 This inferface should be implemented by services implementing the Ice::Locator interface. More...
 
interface  LocatorRegistry
 The Ice locator registry interface. More...
 
local interface  Logger
 The Ice message logger. More...
 
interface  LoggerAdmin
 The interface of the admin object that allows an Ice application the attach its RemoteLogger to the Logger of this admin object's Ice communicator. More...
 
local interface  ObjectAdapter
 The object adapter provides an up-call interface from the Ice run time to the implementation of Ice objects. More...
 
local interface  ObjectFactory
 A factory for objects. More...
 
local interface  Plugin
 A communicator plug-in. More...
 
local interface  PluginManager
 Each communicator has a plug-in manager to administer the set of plug-ins. More...
 
interface  Process
 An administrative interface for process management. More...
 
local interface  Properties
 A property set used to configure Ice and Ice applications. More...
 
interface  PropertiesAdmin
 The PropertiesAdmin interface provides remote access to the properties of a communicator. More...
 
interface  RemoteLogger
 The Ice remote logger interface. More...
 
interface  Router
 The Ice router interface. More...
 
interface  RouterFinder
 This inferface should be implemented by services implementing the Ice::Router interface. More...
 
local interface  ServantLocator
 A servant locator is called by an object adapter to locate a servant that is not found in its active servant map. More...
 
local interface  ValueFactory
 A factory for values. More...
 
local interface  ValueFactoryManager
 A value factory manager maintains a collection of value factories. More...
 

Classes

local class  ConnectionInfo
 Base class providing access to the connection details. More...
 
local class  EndpointInfo
 Base class providing access to the endpoint details. More...
 
local class  IPConnectionInfo
 Provides access to the connection details of an IP connection. More...
 
local class  IPEndpointInfo
 Provides access to the address details of a IP endpoint. More...
 
local class  OpaqueEndpointInfo
 Provides access to the details of an opaque endpoint. More...
 
local class  TCPConnectionInfo
 Provides access to the connection details of a TCP connection. More...
 
local class  TCPEndpointInfo
 Provides access to a TCP endpoint information. More...
 
local class  UDPConnectionInfo
 Provides access to the connection details of a UDP connection. More...
 
local class  UDPEndpointInfo
 Provides access to an UDP endpoint information. More...
 
local class  WSConnectionInfo
 Provides access to the connection details of a WebSocket connection. More...
 
local class  WSEndpointInfo
 Provides access to a WebSocket endpoint information. More...
 

Structs

local struct  ACM
 A collection of Active Connection Management configuration settings. More...
 
local struct  Current
 Information about the current method invocation for servers. More...
 
struct  EncodingVersion
 A version structure for the encoding version. More...
 
struct  Identity
 The identity of an Ice object. More...
 
struct  LogMessage
 A complete log message. More...
 
struct  ProtocolVersion
 A version structure for the protocol version. More...
 

Exceptions

exception  AdapterAlreadyActiveException
 This exception is raised if a server tries to set endpoints for an adapter that is already active. More...
 
exception  AdapterNotFoundException
 This exception is raised if an adapter cannot be found. More...
 
local exception  AlreadyRegisteredException
 An attempt was made to register something more than once with the Ice run time. More...
 
local exception  BadMagicException
 This exception indicates that a message did not start with the expected magic number ('I', 'c', 'e', 'P'). More...
 
local exception  CFNetworkException
 This exception indicates CFNetwork errors. More...
 
local exception  CloneNotImplementedException
 An attempt was made to clone a class that does not support cloning. More...
 
local exception  CloseConnectionException
 This exception indicates that the connection has been gracefully shut down by the server. More...
 
local exception  CloseTimeoutException
 This exception indicates a connection closure timeout condition. More...
 
local exception  CollocationOptimizationException
 This exception is raised if a feature is requested that is not supported with collocation optimization. More...
 
local exception  CommunicatorDestroyedException
 This exception is raised if the Communicator has been destroyed. More...
 
local exception  CompressionException
 This exception indicates a problem with compressing or uncompressing data. More...
 
local exception  ConnectFailedException
 This exception indicates connection failures. More...
 
local exception  ConnectionLostException
 This exception indicates a lost connection. More...
 
local exception  ConnectionManuallyClosedException
 This exception is raised by an operation call if the application closes the connection locally using Connection#close. More...
 
local exception  ConnectionNotValidatedException
 This exception is raised if a message is received over a connection that is not yet validated. More...
 
local exception  ConnectionRefusedException
 This exception indicates a connection failure for which the server host actively refuses a connection. More...
 
local exception  ConnectionTimeoutException
 This exception indicates that a connection has been shut down because it has been idle for some time. More...
 
local exception  ConnectTimeoutException
 This exception indicates a connection establishment timeout condition. More...
 
local exception  DatagramLimitException
 A datagram exceeds the configured size. More...
 
local exception  DNSException
 This exception indicates a DNS problem. More...
 
local exception  EncapsulationException
 This exception indicates a malformed data encapsulation. More...
 
local exception  EndpointParseException
 This exception is raised if there was an error while parsing an endpoint. More...
 
local exception  EndpointSelectionTypeParseException
 This exception is raised if there was an error while parsing an endpoint selection type. More...
 
local exception  FacetNotExistException
 This exception is raised if no facet with the given name exists, but at least one facet with the given identity exists. More...
 
local exception  FeatureNotSupportedException
 This exception is raised if an unsupported feature is used. More...
 
local exception  FileException
 This exception indicates file errors. More...
 
local exception  FixedProxyException
 This exception indicates that an attempt has been made to change the connection properties of a fixed proxy. More...
 
local exception  IdentityParseException
 This exception is raised if there was an error while parsing a stringified identity. More...
 
local exception  IllegalIdentityException
 This exception is raised if an illegal identity is encountered. More...
 
local exception  IllegalMessageSizeException
 This exception indicates that a message size is less than the minimum required size. More...
 
local exception  IllegalServantException
 This exception is raised to reject an illegal servant (typically a null servant) More...
 
local exception  InitializationException
 This exception is raised when a failure occurs during initialization. More...
 
exception  InvalidReplicaGroupIdException
 This exception is raised if the replica group provided by the server is invalid. More...
 
local exception  InvocationCanceledException
 This exception indicates that an asynchronous invocation failed because it was canceled explicitly by the user. More...
 
local exception  InvocationTimeoutException
 This exception indicates that an invocation failed because it timed out. More...
 
local exception  MarshalException
 This exception is raised for errors during marshaling or unmarshaling data. More...
 
local exception  MemoryLimitException
 This exception is raised when Ice receives a request or reply message whose size exceeds the limit specified by the Ice.MessageSizeMax property. More...
 
local exception  NoEndpointException
 This exception is raised if no suitable endpoint is available. More...
 
local exception  NotRegisteredException
 An attempt was made to find or deregister something that is not registered with the Ice run time or Ice locator. More...
 
local exception  NoValueFactoryException
 This exception is raised if no suitable value factory was found during unmarshaling of a Slice class instance. More...
 
local exception  ObjectAdapterDeactivatedException
 This exception is raised if an attempt is made to use a deactivated ObjectAdapter. More...
 
local exception  ObjectAdapterIdInUseException
 This exception is raised if an ObjectAdapter cannot be activated. More...
 
local exception  ObjectNotExistException
 This exception is raised if an object does not exist on the server, that is, if no facets with the given identity exist. More...
 
exception  ObjectNotFoundException
 This exception is raised if an object cannot be found. More...
 
local exception  OperationInterruptedException
 This exception indicates a request was interrupted. More...
 
local exception  OperationNotExistException
 This exception is raised if an operation for a given object does not exist on the server. More...
 
local exception  PluginInitializationException
 This exception indicates that a failure occurred while initializing a plug-in. More...
 
local exception  ProtocolException
 A generic exception base for all kinds of protocol error conditions. More...
 
local exception  ProxyParseException
 This exception is raised if there was an error while parsing a stringified proxy. More...
 
local exception  ProxyUnmarshalException
 This exception is raised if inconsistent data is received while unmarshaling a proxy. More...
 
exception  RemoteLoggerAlreadyAttachedException
 Thrown when the provided RemoteLogger was previously attached to a LoggerAdmin. More...
 
local exception  RequestFailedException
 This exception is raised if a request failed. More...
 
local exception  ResponseSentException
 Indicates that the response to a request has already been sent; re-dispatching such a request is not possible. More...
 
local exception  SecurityException
 This exception indicates a failure in a security subsystem, such as the IceSSL plug-in. More...
 
exception  ServerNotFoundException
 This exception is raised if a server cannot be found. More...
 
local exception  SocketException
 This exception indicates socket errors. More...
 
local exception  StringConversionException
 This exception is raised when a string conversion to or from UTF-8 fails during marshaling or unmarshaling. More...
 
local exception  SyscallException
 This exception is raised if a system error occurred in the server or client process. More...
 
local exception  TimeoutException
 This exception indicates a timeout condition. More...
 
local exception  TwowayOnlyException
 The operation can only be invoked with a twoway request. More...
 
local exception  UnexpectedObjectException
 This exception is raised if the type of an unmarshaled Slice class instance does not match its expected type. More...
 
local exception  UnknownException
 This exception is raised if an operation call on a server raises an unknown exception. More...
 
local exception  UnknownLocalException
 This exception is raised if an operation call on a server raises a local exception. More...
 
local exception  UnknownMessageException
 This exception indicates that an unknown protocol message has been received. More...
 
local exception  UnknownReplyStatusException
 This exception indicates that an unknown reply status has been received. More...
 
local exception  UnknownRequestIdException
 This exception indicates that a response for an unknown request ID has been received. More...
 
local exception  UnknownUserException
 An operation raised an incorrect user exception. More...
 
local exception  UnmarshalOutOfBoundsException
 This exception is raised if an out-of-bounds condition occurs during unmarshaling. More...
 
local exception  UnsupportedEncodingException
 This exception indicates an unsupported data encoding version. More...
 
local exception  UnsupportedProtocolException
 This exception indicates an unsupported protocol version. More...
 
local exception  VersionMismatchException
 This exception is raised if the Ice library version does not match the version in the Ice header files. More...
 
local exception  VersionParseException
 This exception is raised if there was an error while parsing a version. More...
 

Sequences

sequence< bool > BoolSeq
 A sequence of bools. More...
 
sequence< byte > ByteSeq
 A sequence of bytes. More...
 
sequence< double > DoubleSeq
 A sequence of doubles. More...
 
local sequence< EndpointEndpointSeq
 A sequence of endpoints. More...
 
sequence< float > FloatSeq
 A sequence of floats. More...
 
sequence< IdentityIdentitySeq
 A sequence of identities. More...
 
sequence< int > IntSeq
 A sequence of ints. More...
 
sequence< LogMessageLogMessageSeq
 A sequence of LogMessage. More...
 
sequence< LogMessageTypeLogMessageTypeSeq
 A sequence of LogMessageType. More...
 
sequence< long > LongSeq
 A sequence of longs. More...
 
sequence< Object > ObjectProxySeq
 A sequence of object proxies. More...
 
sequence< Object > ObjectSeq
 A sequence of objects. More...
 
sequence< short > ShortSeq
 A sequence of shorts. More...
 
sequence< string > StringSeq
 A sequence of strings. More...
 

Dictionaries

dictionary< string, string > Context
 A request context. More...
 
dictionary< string, string > HeaderDict
 A collection of HTTP headers. More...
 
local dictionary< Identity, Object > ObjectDict
 A mapping between identities and Ice objects. More...
 
dictionary< string, string > PropertyDict
 A simple collection of properties, represented as a dictionary of key/value pairs. More...
 
dictionary< string, string > SliceChecksumDict
 A mapping from type IDs to Slice checksums. More...
 

Enumerations

local enum  ACMClose {
  CloseOff, CloseOnIdle, CloseOnInvocation, CloseOnInvocationAndIdle,
  CloseOnIdleForceful
}
 Specifies the close semantics for Active Connection Management. More...
 
local enum  ACMHeartbeat { HeartbeatOff, HeartbeatOnDispatch, HeartbeatOnIdle, HeartbeatAlways }
 Specifies the heartbeat semantics for Active Connection Management. More...
 
local enum  CompressBatch { Yes, No, BasedOnProxy }
 The batch compression option when flushing queued batch requests. More...
 
local enum  ConnectionClose { Forcefully, Gracefully, GracefullyWithWait }
 Determines the behavior when manually closing a connection. More...
 
local enum  EndpointSelectionType { Random, Ordered }
 Determines the order in which the Ice run time uses the endpoints in a proxy when establishing a connection. More...
 
enum  LogMessageType { PrintMessage, TraceMessage, WarningMessage, ErrorMessage }
 An enumeration representing the different types of log messages. More...
 
enum  OperationMode { Normal, Nonmutating, Idempotent }
 Determines the retry behavior an invocation in case of a (potentially) recoverable error. More...
 
local enum  ToStringMode { Unicode, ASCII, Compat }
 The output mode for xxxToString method such as identityToString and proxyToString. More...
 

Constants

const short BTEndpointType = 6
 Uniquely identifies Bluetooth endpoints. More...
 
const short BTSEndpointType = 7
 Uniquely identifies SSL Bluetooth endpoints. More...
 
 FacetMap
 A mapping from facet name to servant. More...
 
const short iAPEndpointType = 8
 Uniquely identifies iAP-based endpoints. More...
 
const short iAPSEndpointType = 9
 Uniquely identifies SSL iAP-based endpoints. More...
 
const short SSLEndpointType = 2
 Uniquely identifies SSL endpoints. More...
 
const short TCPEndpointType = 1
 Uniquely identifies TCP endpoints. More...
 
const short UDPEndpointType = 3
 Uniquely identifies UDP endpoints. More...
 
const short WSEndpointType = 4
 Uniquely identifies TCP-based WebSocket endpoints. More...
 
const short WSSEndpointType = 5
 Uniquely identifies SSL-based WebSocket endpoints. More...
 

Detailed Description

The Ice core library.

Among many other features, the Ice core library manages all the communication tasks using an efficient protocol (including protocol compression and support for both TCP and UDP), provides a thread pool for multi-threaded servers, and additional functionality that supports high scalability.

Sequence Documentation

◆ BoolSeq

sequence<bool> BoolSeq

A sequence of bools.

◆ ByteSeq

sequence<byte> ByteSeq

A sequence of bytes.

◆ DoubleSeq

sequence<double> DoubleSeq

A sequence of doubles.

◆ EndpointSeq

["swift:nonnull"]
local sequence<Endpoint> EndpointSeq

A sequence of endpoints.

◆ FloatSeq

sequence<float> FloatSeq

A sequence of floats.

◆ IdentitySeq

sequence<Identity> IdentitySeq

A sequence of identities.

◆ IntSeq

sequence<int> IntSeq

A sequence of ints.

◆ LogMessageSeq

["cpp:type:std::list<LogMessage>"]
sequence<LogMessage> LogMessageSeq

A sequence of LogMessage.

◆ LogMessageTypeSeq

sequence<LogMessageType> LogMessageTypeSeq

A sequence of LogMessageType.

◆ LongSeq

sequence<long> LongSeq

A sequence of longs.

◆ ObjectProxySeq

sequence<Object> ObjectProxySeq

A sequence of object proxies.

◆ ObjectSeq

sequence<Object> ObjectSeq

A sequence of objects.

◆ ShortSeq

sequence<short> ShortSeq

A sequence of shorts.

◆ StringSeq

sequence<string> StringSeq

A sequence of strings.

Dictionary Documentation

◆ Context

dictionary<string, string> Context

A request context.

Context is used to transmit metadata about a request from the server to the client, such as Quality-of-Service (QoS) parameters. Each operation on the client has a Context as its implicit final parameter.

◆ HeaderDict

dictionary<string, string> HeaderDict

A collection of HTTP headers.

◆ ObjectDict

local dictionary<Identity, Object> ObjectDict

A mapping between identities and Ice objects.

◆ PropertyDict

dictionary<string, string> PropertyDict

A simple collection of properties, represented as a dictionary of key/value pairs.

Both key and value are strings.

See also
Properties::getPropertiesForPrefix

◆ SliceChecksumDict

dictionary<string, string> SliceChecksumDict

A mapping from type IDs to Slice checksums.

The dictionary allows verification at run time that client and server use matching Slice definitions.

Enumeration Type Documentation

◆ ACMClose

local enum ACMClose

Specifies the close semantics for Active Connection Management.

Enumerator
CloseOff 

Disables automatic connection closure.

CloseOnIdle 

Gracefully closes a connection that has been idle for the configured timeout period.

CloseOnInvocation 

Forcefully closes a connection that has been idle for the configured timeout period, but only if the connection has pending invocations.

CloseOnInvocationAndIdle 

Combines the behaviors of CloseOnIdle and CloseOnInvocation.

CloseOnIdleForceful 

Forcefully closes a connection that has been idle for the configured timeout period, regardless of whether the connection has pending invocations or dispatch.

◆ ACMHeartbeat

local enum ACMHeartbeat

Specifies the heartbeat semantics for Active Connection Management.

Enumerator
HeartbeatOff 

Disables heartbeats.

HeartbeatOnDispatch 

Send a heartbeat at regular intervals if the connection is idle and only if there are pending dispatch.

HeartbeatOnIdle 

Send a heartbeat at regular intervals when the connection is idle.

HeartbeatAlways 

Send a heartbeat at regular intervals until the connection is closed.

◆ CompressBatch

["cpp:scoped","objc:scoped"]
local enum CompressBatch

The batch compression option when flushing queued batch requests.

Enumerator
Yes 

Compress the batch requests.

No 

Don't compress the batch requests.

BasedOnProxy 

Compress the batch requests if at least one request was made on a compressed proxy.

◆ ConnectionClose

["cpp:scoped","objc:scoped"]
local enum ConnectionClose

Determines the behavior when manually closing a connection.

Enumerator
Forcefully 

Close the connection immediately without sending a close connection protocol message to the peer and waiting for the peer to acknowledge it.

Gracefully 

Close the connection by notifying the peer but do not wait for pending outgoing invocations to complete.

On the server side, the connection will not be closed until all incoming invocations have completed.

GracefullyWithWait 

Wait for all pending invocations to complete before closing the connection.

◆ EndpointSelectionType

local enum EndpointSelectionType

Determines the order in which the Ice run time uses the endpoints in a proxy when establishing a connection.

Enumerator
Random 

Random causes the endpoints to be arranged in a random order.

Ordered 

Ordered forces the Ice run time to use the endpoints in the order they appeared in the proxy.

◆ LogMessageType

enum LogMessageType

An enumeration representing the different types of log messages.

Enumerator
PrintMessage 

The Logger received a print message.

TraceMessage 

The Logger received a trace message.

WarningMessage 

The Logger received a warning message.

ErrorMessage 

The Logger received an error message.

◆ OperationMode

enum OperationMode

Determines the retry behavior an invocation in case of a (potentially) recoverable error.

Enumerator
Normal 

Ordinary operations have Normal mode.

These operations modify object state; invoking such an operation twice in a row has different semantics than invoking it once. The Ice run time guarantees that it will not violate at-most-once semantics for Normal operations.

Nonmutating 

Operations that use the Slice nonmutating keyword must not modify object state.

For C++, nonmutating operations generate const member functions in the skeleton. In addition, the Ice run time will attempt to transparently recover from certain run-time errors by re-issuing a failed request and propagate the failure to the application only if the second attempt fails.

Nonmutating is deprecated; Use the idempotent keyword instead. For C++, to retain the mapping of nonmutating operations to C++ const member functions, use the ["cpp:const"] metadata directive.

Idempotent 

Operations that use the Slice idempotent keyword can modify object state, but invoking an operation twice in a row must result in the same object state as invoking it once.

For example, x = 1 is an idempotent statement, whereas x += 1 is not. For idempotent operations, the Ice run-time uses the same retry behavior as for nonmutating operations in case of a potentially recoverable error.

◆ ToStringMode

local enum ToStringMode

The output mode for xxxToString method such as identityToString and proxyToString.

The actual encoding format for the string is the same for all modes: you don't need to specify an encoding format or mode when reading such a string.

Enumerator
Unicode 

Characters with ordinal values greater than 127 are kept as-is in the resulting string.

Non-printable ASCII characters with ordinal values 127 and below are encoded as \t, \n (etc.) or \unnnn.

ASCII 

Characters with ordinal values greater than 127 are encoded as universal character names in the resulting string: \unnnn for BMP characters and \Unnnnnnnn for non-BMP characters.

Non-printable ASCII characters with ordinal values 127 and below are encoded as \t, \n (etc.) or \unnnn.

Compat 

Characters with ordinal values greater than 127 are encoded as a sequence of UTF-8 bytes using octal escapes.

Characters with ordinal values 127 and below are encoded as \t, \n (etc.) or an octal escape. Use this mode to generate strings compatible with Ice 3.6 and earlier.

Constant Documentation

◆ BTEndpointType

const short BTEndpointType = 6

Uniquely identifies Bluetooth endpoints.

◆ BTSEndpointType

const short BTSEndpointType = 7

Uniquely identifies SSL Bluetooth endpoints.

◆ FacetMap

FacetMap

A mapping from facet name to servant.

◆ iAPEndpointType

const short iAPEndpointType = 8

Uniquely identifies iAP-based endpoints.

◆ iAPSEndpointType

const short iAPSEndpointType = 9

Uniquely identifies SSL iAP-based endpoints.

◆ SSLEndpointType

const short SSLEndpointType = 2

Uniquely identifies SSL endpoints.

◆ TCPEndpointType

const short TCPEndpointType = 1

Uniquely identifies TCP endpoints.

◆ UDPEndpointType

const short UDPEndpointType = 3

Uniquely identifies UDP endpoints.

◆ WSEndpointType

const short WSEndpointType = 4

Uniquely identifies TCP-based WebSocket endpoints.

◆ WSSEndpointType

const short WSSEndpointType = 5

Uniquely identifies SSL-based WebSocket endpoints.