Interface Connection.Interface.Keepalive1

Interface Index (Compact) | Summary | Description | Properties

Properties

KeepaliveInterval u Read/Write
WARNING: This interface is experimental and is likely to cause havoc to your API/ABI if bindings are generated. Do not include this interface in libraries that care about compatibility.
Added in 0.21.2. (draft 1)
Objects implementing this interface must also implement:

Description

Most messaging protocols allow the client to send periodic content-less pings to the server when the connection is otherwise idle, to reassure both itself and the server that its connection is still alive. Depending on the nature of the network connection, and the device running the client, the desired interval between such pings may vary.

Rationale:

For instance, on a mobile handset connected via 3G, overly-frequent keepalives can drain the battery through needlessly waking up the radio, and a relatively high interval is appropiate. By contrast, a desktop computer is less likely to be asleep in the first place, and users expect dropped connections to be noticed as soon as possible.

This interface provides a KeepaliveInterval property which controls the frequency of keepalive pings, if any. Connection managers implementing this property should also include it in Protocol.Parameters with the DBus_Property flag, allowing the desired value to be stored in Account.Parameters and passed onto the connection by the account manager.

Properties

Accessed using the org.freedesktop.DBus.Properties interface.
(Permalink)

KeepaliveInterval — u

Read/Write

Note: Connections implementing this property SHOULD provide a corresponding parameter named im.telepathy1.Connection.Interface.Keepalive1.KeepaliveInterval with the DBus_Property flag. Clients SHOULD update this property by calling UpdateParameters on the relevant Account rather than setting the property directly; change notification is via AccountPropertyChanged.

The time in seconds between pings sent to the server to ensure that the connection is still alive, or 0 to disable such pings.

This property (and parameter) supersedes the older keepalive-interval Connection_Parameter_Name.