1
0
mirror of https://github.com/asamy/ctorrent synced 2025-10-05 23:52:41 +02:00

stupid changes

This commit is contained in:
A. Samy
2016-02-21 04:11:49 +00:00
parent e96d90b156
commit 3258d92c58
3 changed files with 8 additions and 22 deletions

View File

@@ -176,12 +176,8 @@ bool Torrent::nextConnection()
bool Torrent::queryTrackers(const TrackerQuery &query, uint16_t port)
{
bool success = queryTracker(m_meta.tracker(), query, port);
if (m_meta.trackers().empty()) {
if (!success)
std::cerr << m_meta.name() << ": queryTracker(): This torrent does not provide multiple trackers" << std::endl;
if (m_meta.trackers().empty())
return success;
}
bool alt = false;
for (const boost::any &s : m_meta.trackers()) {
@@ -189,10 +185,9 @@ bool Torrent::queryTrackers(const TrackerQuery &query, uint16_t port)
const VectorType &vType = Bencode::cast<VectorType>(&s);
for (const boost::any &announce : vType)
alt = queryTracker(Bencode::cast<std::string>(&announce), query, port);
} else if (s.type() == typeid(std::string))
}
else if (s.type() == typeid(std::string))
alt = queryTracker(Bencode::cast<std::string>(&s), query, port);
else
std::cerr << m_meta.name() << ": warning: unkown tracker type: " << s.type().name() << std::endl;
}
return success || alt;
@@ -202,10 +197,8 @@ bool Torrent::queryTracker(const std::string &furl, const TrackerQuery &q, uint1
{
UrlData url = parseUrl(furl);
std::string host = URL_HOSTNAME(url);
if (host.empty()) {
std::cerr << m_meta.name() << ": queryTracker(): failed to parse announce url: " << furl << std::endl;
if (host.empty())
return false;
}
std::string port = URL_SERVNAME(url);
std::string protocol = URL_PROTOCOL(url);
@@ -280,8 +273,6 @@ void Torrent::connectToPeers(const boost::any &_peers)
rawConnectPeer(peerInfo);
}
} catch (const std::exception &e) {
// cast error
std::cerr << m_meta.name() << ": connectToPeers(dict): " << e.what() << std::endl;
}
} else if (_peers.type() == typeid(VectorType)) {
VectorType peers = *boost::unsafe_any_cast<VectorType>(&_peers);
@@ -293,12 +284,7 @@ void Torrent::connectToPeers(const boost::any &_peers)
rawConnectPeer(peerInfo);
}
} catch (const std::exception &e) {
// cast error
std::cerr << m_meta.name() << ": connectToPeers(vec): " << e.what() << std::endl;
}
} else {
std::cerr << m_meta.name() << ": peers type unhandled: " << _peers.type().name() << std::endl;
return; // FIXME
}
}

View File

@@ -167,6 +167,7 @@ int main(int argc, char *argv[])
attrset(A_BOLD); // boldy
curs_set(0); // don't show cursor
#endif
size_t total = files.size();
size_t completed = 0;
size_t errors = 0;

View File

@@ -172,14 +172,13 @@ void SchedulerImpl::thread()
}
// Ugly hack for newly added events
fart:
bool cont = m_condition.wait_until(m, std::chrono::system_clock::now()
+ std::chrono::milliseconds(5), [this] () { return events.top().expired(); });
if (m_stopped)
break;
else if (!cont) {
m.unlock();
continue;
}
else if (!cont)
goto fart;
SchedulerEvent e = events.top();
events.pop();