[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdenetwork/kopete/protocols/msn
From: Michel Hermier <michel.hermier () wanadoo ! fr>
Date: 2005-04-29 13:53:57
Message-ID: 20050429135357.1D472629 () office ! kde ! org
[Download RAW message or body]
CVS commit by hermier:
Changed the ping pong (PNG/QNG) handling.
Now the code should follow the QNG timeout specs.
In the previous code the ping was sent with an arbitrary static value, which could \
make you disconnect under some conditions.
M +12 -14 msnnotifysocket.cpp 1.166
M +5 -11 msnnotifysocket.h 1.45
M +0 -1 msnsocket.cpp 1.104
M +0 -6 msnsocket.h 1.30
--- kdenetwork/kopete/protocols/msn/msnnotifysocket.cpp #1.165:1.166
@@ -61,6 +61,4 @@ MSNNotifySocket::MSNNotifySocket( MSNAcc
m_keepaliveTimer = new QTimer( this, "m_keepaliveTimer" );
QObject::connect( m_keepaliveTimer, SIGNAL( timeout() ), SLOT( \
slotSendKeepAlive() ) );
-
- QObject::connect( this, SIGNAL( commandSent() ), SLOT( slotResetKeepAlive() \
) ); }
@@ -306,4 +304,7 @@ void MSNNotifySocket::parseCommand( cons
QString publicName = unescape( data.section( ' ', 2, 2 ) );
emit publicNameChanged( publicName );
+
+ // We are connected start to ping
+ slotSendKeepAlive();
}
}
@@ -531,4 +532,8 @@ void MSNNotifySocket::parseCommand( cons
//this is a reply from a ping
m_ping=false;
+
+ // id is the timeout in fact, and we remove 5% of it
+ m_keepaliveTimer->start( id * 950, true );
+ kdDebug( 14140 ) << k_funcinfo << "timerTimeout=" << id << "sec"<< \
endl; }
else if( cmd == "URL" )
@@ -902,11 +907,4 @@ void MSNNotifySocket::slotSendKeepAlive(
}
-void MSNNotifySocket::slotResetKeepAlive()
-{
- // Fire the timer every 90 seconds. QTimer will reset a running timer
- // on a subsequent call if there has been activity again.
- m_keepaliveTimer->start( 90000 );
-}
-
Kopete::OnlineStatus MSNNotifySocket::convertOnlineStatus( const QString &status )
{
--- kdenetwork/kopete/protocols/msn/msnnotifysocket.h #1.44:1.45
@@ -132,10 +132,4 @@ private slots:
void slotSendKeepAlive();
- /**
- * Reset the keepalive time after the socket has sent a command.
- */
- void slotResetKeepAlive();
-
-
void slotAuthJobDataReceived ( KIO::Job *, const QByteArray &data);
--- kdenetwork/kopete/protocols/msn/msnsocket.cpp #1.103:1.104
@@ -468,5 +468,4 @@ void MSNSocket::slotReadyWrite()
m_socket->writeBlock( *it, ( *it ).length() );
m_sendQueue.remove( it );
- emit commandSent();
// If the queue is empty again stop waiting for readyWrite signals
--- kdenetwork/kopete/protocols/msn/msnsocket.h #1.29:1.30
@@ -125,10 +125,4 @@ signals:
void socketClosed();
- /**
- * The socket just sent a command from the queue. This signal is used in
- * the notify socket to reset the keepalive timer.
- */
- void commandSent();
-
protected:
/**
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic