Mercurial > pidgin
diff libpurple/protocols/myspace/myspace.h @ 17687:d0c8b7748065
Add msim_check_alive(), called every MSIM_KEEPALIVE_INTERVAL_CHECK milliseconds,
to recognize the server disconnection if no data was received within
MSIM_KEEPALIVE_INTERVAL seconds. This is support for keep-alives.
author | Jeffrey Connelly <jaconnel@calpoly.edu> |
---|---|
date | Wed, 04 Jul 2007 21:21:25 +0000 |
parents | 87b77f1ea086 |
children | b1f9a3f5c0d0 |
line wrap: on
line diff
--- a/libpurple/protocols/myspace/myspace.h Wed Jul 04 19:05:21 2007 +0000 +++ b/libpurple/protocols/myspace/myspace.h Wed Jul 04 21:21:25 2007 +0000 @@ -83,11 +83,16 @@ /* Build version of MySpaceIM to report to servers (1.0.xxx.0) */ #define MSIM_CLIENT_VERSION 673 -/* Server */ +/* Default server */ #define MSIM_SERVER "im.myspace.akadns.net" -//#define MSIM_SERVER "localhost" #define MSIM_PORT 1863 /* TODO: alternate ports and automatic */ +/* Time between keepalives (seconds) - if no data within this time, is dead. */ +#define MSIM_KEEPALIVE_INTERVAL (3 * 60) + +/* Time to check if alive (milliseconds) */ +#define MSIM_KEEPALIVE_INTERVAL_CHECK (MSIM_KEEPALIVE_INTERVAL * 1000 / 5) + /* Constants */ #define HASH_SIZE 0x14 /**< Size of SHA-1 hash for login */ #define NONCE_SIZE 0x20 /**< Half of decoded 'nc' field */ @@ -156,6 +161,7 @@ gchar *rxbuf; /**< Receive buffer */ guint rxoff; /**< Receive buffer offset */ guint next_rid; /**< Next request/response ID */ + time_t last_comm; /**< Time received last communication */ } MsimSession; /* Check if an MsimSession is valid */ @@ -213,6 +219,7 @@ gboolean msim_preprocess_incoming(MsimSession *session, MsimMessage *msg); +gboolean msim_check_alive(gpointer data); gboolean msim_we_are_logged_on(MsimSession *session, MsimMessage *msg); gboolean msim_process(MsimSession *session, MsimMessage *msg);