Open bernardnormier opened 9 months ago
Ice.IdleTimeout # corresponds to IceIdleTimeout in IceRPC, with same default (60 seconds)
Ice.InactivityTimeout # corresponds to InactivityTimeout in IceRPC, with same default (5 * 60 seconds)
Ice.EnableIdleCheck # corresponds to EnableIdleCheck in IceRPC, with same default (false) for interop with Ice 3.7
These properties apply to all connections (client and server). You can override these properties for a specific object adapter with
adapter.IdleTimeout
etc.
local interface Connection
{
... this proposal changes only ACM related operations ...
void setCloseCallback(CloseCallback callback); // no change
void setHeartbeatCallback(HeartbeatCallback callback); // no change
// Remove setACM / getACM and timeout
// New operations; all the timeouts are in seconds.
int getIdleTimeout();
void setIdleTimeout(int timeout);
int getInactivityTimeout();
void setInactivityTimeout(int timeout);
bool isIdleCheckEnabled();
void disableIdleCheck();
void enableIdleCheck();
}
Ice.IdleTimeout # corresponds to IceIdleTimeout in IceRPC, with same default (60 seconds)
According to https://docs.icerpc.dev/icerpc/slic-transport/connection-idle-timeout
The default idle timeout is 30 seconds.
EDIT: Never mind, I was looking at SLIC.
The relevant page in IceRPC C# is: https://docs.icerpc.dev/api/csharp/api/IceRpc.ConnectionOptions.html#IceRpc_ConnectionOptions_IceIdleTimeout
ACM in Ice 3.7 and earlier releases is too complicated, with too many options to compose.
We implemented a much simpler ACM (not called ACM) in IceRPC for the
ice
protocol, see:https://github.com/icerpc/icerpc-csharp/blob/89a7a8466c37b2d1bcf2f8c7cd593cbf7df14757/src/IceRpc/ConnectionOptions.cs#L27
We should port this design to Ice.
In particular, IceRPC makes a distinction between idle and inactive, and we should do the same in Ice.
See https://github.com/icerpc/icerpc-csharp/blob/89a7a8466c37b2d1bcf2f8c7cd593cbf7df14757/src/IceRpc/ConnectionOptions.cs#L35 https://github.com/icerpc/icerpc-csharp/blob/89a7a8466c37b2d1bcf2f8c7cd593cbf7df14757/src/IceRpc/ConnectionOptions.cs#L46