Copyright © 2010 Collabora Ltd. Copyright © 2010 Nokia Corporation

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

(draft 1)

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.

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.

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.