[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/network/ktorrent/libbtcore
From: Joris Guisson <joris.guisson () gmail ! com>
Date: 2009-09-05 10:11:35
Message-ID: 1252145495.330911.26624.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1020083 by guisson:
Ditch QHostAgent due to the thread hanging at exit in favor of home grown ReverseResolver
M +2 -0 CMakeLists.txt
A net/reverseresolver.cpp [License: GPL (v2+)]
A net/reverseresolver.h [License: GPL (v2+)]
M +8 -6 peer/peer.cpp
M +1 -2 peer/peer.h
M +4 -1 torrent/globals.cpp
--- trunk/extragear/network/ktorrent/libbtcore/CMakeLists.txt #1020082:1020083
@@ -68,6 +68,7 @@
net/socketgroup.cpp
net/socks.cpp
net/wakeuppipe.cpp
+ net/reverseresolver.cpp
mse/bigint.cpp
mse/functions.cpp
@@ -215,6 +216,7 @@
./net/speed.h
./net/uploadthread.h
./net/socketmonitor.h
+ ./net/reverseresolver.h
)
set (mse_HDR
--- trunk/extragear/network/ktorrent/libbtcore/peer/peer.cpp #1020082:1020083
@@ -37,6 +37,7 @@
#include "peeruploader.h"
#include "utpex.h"
#include "peermanager.h"
+#include <net/reverseresolver.h>
using namespace net;
@@ -101,7 +102,11 @@
utorrent_pex_id = 0;
if (resolve_hostname)
- QHostInfo::lookupHost(stats.ip_address,this,SLOT(resolved(QHostInfo)));
+ {
+ net::ReverseResolver* res = new net::ReverseResolver();
+ connect(res,SIGNAL(resolved(QString)),this,SLOT(resolved(QString)),Qt::QueuedConnection);
+ res->resolveAsync(sock->getRemoteAddress());
+ }
}
@@ -599,12 +604,9 @@
sock->setGroupIDs(up_gid,down_gid);
}
- void Peer::resolved(const QHostInfo& hinfo)
+ void Peer::resolved(const QString & hinfo)
{
- if (hinfo.error() != QHostInfo::NoError)
- return;
-
- stats.hostname = hinfo.hostName();
+ stats.hostname = hinfo;
}
void Peer::setResolveHostnames(bool on)
--- trunk/extragear/network/ktorrent/libbtcore/peer/peer.h #1020082:1020083
@@ -22,7 +22,6 @@
#include <QObject>
#include <QDateTime>
-#include <QHostInfo>
#include <util/timer.h>
#include <interfaces/peerinterface.h>
#include <util/bitset.h>
@@ -235,7 +234,7 @@
static void setResolveHostnames(bool on);
private slots:
- void resolved(const QHostInfo & hinfo);
+ void resolved(const QString & hinfo);
private:
void packetReady(const Uint8* packet,Uint32 size);
--- trunk/extragear/network/ktorrent/libbtcore/torrent/globals.cpp #1020082:1020083
@@ -21,9 +21,10 @@
#include <net/portlist.h>
#include <dht/dht.h>
-
+#include <net/reverseresolver.h>
#include "server.h"
+
namespace bt
{
@@ -38,6 +39,8 @@
Globals::~ Globals()
{
+ // shutdown the reverse resolver thread
+ net::ReverseResolver::shutdown();
delete server;
delete dh_table;
delete plist;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic