Class SyncTimeoutOptions
Options for configuring timeouts and intervals used by the sync client.
Namespace: Realms.Sync
Assembly: Realm.dll
Syntax
public class SyncTimeoutOptions
Properties
| Edit this page View SourceConnectTimeout
Gets or sets the maximum amount of time to allow for a connection to become fully established.
Declaration
public TimeSpan ConnectTimeout { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan | The connection timeout. |
Remarks
This includes the time to resolve the
network address, the TCP connect operation, the SSL handshake, and
the WebSocket handshake.
Defaults to 2 minutes.
ConnectionLingerTime
Gets or sets the amount of time to keep a connection open after all sessions have been abandoned.
Declaration
public TimeSpan ConnectionLingerTime { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan | The time to keep the connection open. |
Remarks
After all synchronized Realms have been closed for a given server, the
connection is kept open until the linger time has expired to avoid the
overhead of reestablishing the connection when Realms are being closed and
reopened.
Defaults to 30 seconds.
FastReconnectLimit
Gets or sets the maximum amount of time since the loss of a prior connection, for a new connection to be considered a "fast reconnect".
Declaration
public TimeSpan FastReconnectLimit { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan | The window in which a drop in connectivity is considered transient. |
Remarks
When a client first connects to the server, it defers uploading any local
changes until it has downloaded all changesets from the server. This
typically reduces the total amount of merging that has to be done, and is
particularly beneficial the first time that a specific client ever connects
to the server.
When an existing client disconnects and then reconnects within the "fact
reconnect" time this is skipped and any local changes are uploaded
immediately without waiting for downloads, just as if the client was online
the whole time.
Defaults to 1 minute.
PingKeepAlivePeriod
Gets or sets how long to wait between each heartbeat ping message.
Declaration
public TimeSpan PingKeepAlivePeriod { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan | The ping interval. |
Remarks
The client periodically sends ping messages to the server to check if the
connection is still alive. Shorter periods make connection state change
notifications more responsive at the cost of battery life (as the antenna
will have to wake up more often).
Defaults to 1 minute.
PongKeepAliveTimeout
Gets or sets how long to wait for a response to a heartbeat ping before concluding that the connection has dropped.
Declaration
public TimeSpan PongKeepAliveTimeout { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan | The pong timeout. |
Remarks
Shorter values will make connection state change notifications more
responsive as it will only change to disconnected
after this much time has
elapsed, but overly short values may result in spurious disconnection
notifications when the server is simply taking a long time to respond.
Defaults to 2 minutes.
ReconnectBackoffOptions
Gets or sets the options for the reconnection behavior of the sync client.
Declaration
public ReconnectBackoffOptions ReconnectBackoffOptions { get; set; }
Property Value
Type | Description |
---|---|
ReconnectBackoffOptions | The options controlling how long the sync client waits before attempting to reconnect. |