On this page:
Ice.ACM.Client.Close
Synopsis
Ice.ACM.Client.Close=num
Description
Overrides the value of Ice.ACM.Close
in a client context, meaning for outgoing connections.
Ice.ACM.Client.Heartbeat
Synopsis
Ice.ACM.Client.Heartbeat=num
Description
Overrides the value of Ice.ACM.Heartbeat
in a client context, meaning for outgoing connections.
Ice.ACM.Client.Timeout
Synopsis
Ice.ACM.Client.Timeout=num
Description
Overrides the value of Ice.ACM.Timeout
in a client context, meaning for outgoing connections.
Ice.ACM.Close
Synopsis
Ice.ACM.Close=num
Description
This property determines when Active Connection Management (ACM) closes a connection. Legal values for num
correspond directly to the ACMClose
enumerators found in Connection.ice
:
local enum ACMClose { CloseOff, CloseOnIdle, CloseOnInvocation, CloseOnInvocationAndIdle, CloseOnIdleForceful }
The table below describes the semantics of each value:
Enumerator | Property Value | Description |
---|---|---|
CloseOff | 0 | Disables automatic connection closure. A connection will be closed when the communicator is destroyed, when there's a network failure or when the peer closes it. |
CloseOnIdle | 1 | Gracefully closes a connection that has been idle for the configured timeout period. A connection is idle if it has no pending dispatch or invocations. |
CloseOnInvocation | 2 | Forcefully closes a connection that has been idle for the configured timeout period, but only if the connection has pending invocations. This is useful when you don't want a connection to be closed when idle but still want the connection to be forcefully closed when invocations are in progress and no messages are received from the server (potentially indicating that the server is dead). This should be used with a heartbeat configuration where heartbeats are sent at regular intervals by a server while a request is being dispatched (such as HeartbeatOnDispatch , HeartbeatOnIdle or HeartbeatAlways ). |
CloseOnInvocationAndIdle | 3 | Combines the behaviors of CloseOnIdle and CloseOnInvocation . |
CloseOnIdleForceful | 4 | Forcefully closes a connection that has been idle for the configured timeout period, regardless of whether the connection has pending invocations or dispatch. This is typically used together with a heartbeat configuration that keeps idle connections alive. |
You must set a non-zero value for Ice.ACM.Timeout
for this property to have any effect. Use Ice.ACM.Close
in conjunction with Ice.ACM.Heartbeat
to tailor a connection management policy for your application. Use the corresponding Ice.ACM.Client.Close
or Ice.ACM.Server.Close
properties to override this setting in a client or server context, respectively. See Connection Closure for more information on closing connections.
If not defined, the default value is 3
in a client context and 2
in a server context.
Ice.ACM.Heartbeat
Synopsis
Ice.ACM.Heartbeat=num
Description
This property determines whether heartbeats are enabled. You can use heartbeats in conjunction with the Ice.ACM.Close
and Ice.ACM.Timeout
properties to create a connection management policy as part of Active Connection Management (ACM). Legal values for num
correspond directly to the ACMHeartbeat
enumerators found in Connection.ice
:
local enum ACMHeartbeat { HeartbeatOff, HeartbeatOnDispatch, HeartbeatOnIdle, HeartbeatAlways }
The table below describes the semantics of each value:
Enumerator | Property Value | Description |
---|---|---|
HeartbeatOff | 0 | Disables heartbeats. |
HeartbeatOnDispatch | 1 | Send a heartbeat at regular intervals if the connection is idle and only if there are pending dispatch. This is useful if you don't want to send heartbeats when the connection is idle but still want the connection to notify the client that it's alive while the dispatch are in progress. |
HeartbeatOnIdle | 2 | Send a heartbeat at regular intervals when the connection is idle. |
HeartbeatAlways | 3 | Send a heartbeat at regular intervals until the connection is closed. |
You must set a non-zero value for Ice.ACM.Timeout
for this property to have any effect. Use the corresponding Ice.ACM.Client.Heartbeat
or Ice.ACM.Server.Heartbeat
properties to override this setting in a client or server context, respectively.
To send a heartbeat, the Ice run time sends a validate connection message to the remote end. Heartbeats are not supported on datagram connections.
If not defined, the default value is 1
.
Ice.ACM.Timeout
Synopsis
Ice.ACM.Timeout=num
Description
The value for num
represents a timeout in seconds for Active Connection Management (ACM). The setting for Ice.ACM.Close
determines when connections are automatically closed, and the setting for Ice.ACM.Heartbeat
can be used to prevent connections from being closed prematurely. Use the corresponding Ice.ACM.Client.Timeout
or Ice.ACM.Server.Timeout
properties to override this setting in a client or server context, respectively.
If not defined, the default value is 60
.
Ice.ACM.Server.Close
Synopsis
Ice.ACM.Server.Close=num
Description
Overrides the value of Ice.ACM.Close
in a server context, meaning for incoming connections.
Ice.ACM.Server.Heartbeat
Synopsis
Ice.ACM.Server.Heartbeat=num
Description
Overrides the value of Ice.ACM.Heartbeat
in a server context, meaning for incoming connections.
Ice.ACM.Server.Timeout
Synopsis
Ice.ACM.Server.Timeout=num
Description
Overrides the value of Ice.ACM.Timeout
in a server context, meaning for incoming connections.