Browse Source

Merge branch 'develop' into crypto

cl-refactor
subtly 10 years ago
parent
commit
ee5c8cc4f2
  1. 4
      alethzero/MainWin.cpp
  2. 7
      libp2p/Host.cpp
  3. 1
      libp2p/Session.cpp

4
alethzero/MainWin.cpp

@ -2124,10 +2124,10 @@ void Main::refreshWhispers()
QString msg; QString msg;
if (m.from()) if (m.from())
// Good message. // Good message.
msg = QString("%1->%2: %3").arg(m.from() ? m.from().abridged().c_str() : "?").arg(m.to() ? m.to().abridged().c_str() : "*").arg(toHex(m.payload()).c_str()); msg = QString("{%1 -> %2} %3").arg(m.from() ? m.from().abridged().c_str() : "???").arg(m.to() ? m.to().abridged().c_str() : "*").arg(toHex(m.payload()).c_str());
else if (m) else if (m)
// Maybe message. // Maybe message.
msg = QString("%1->%2: %3 (?)").arg(m.from() ? m.from().abridged().c_str() : "?").arg(m.to() ? m.to().abridged().c_str() : "*").arg(toHex(m.payload()).c_str()); msg = QString("{%1 -> %2} %3 (?)").arg(m.from() ? m.from().abridged().c_str() : "???").arg(m.to() ? m.to().abridged().c_str() : "*").arg(toHex(m.payload()).c_str());
time_t ex = e.expiry(); time_t ex = e.expiry();
QString t(ctime(&ex)); QString t(ctime(&ex));

7
libp2p/Host.cpp

@ -651,14 +651,16 @@ void Host::prunePeers()
{ {
RecursiveGuard l(x_peers); RecursiveGuard l(x_peers);
// We'll keep at most twice as many as is ideal, halfing what counts as "too young to kill" until we get there. // We'll keep at most twice as many as is ideal, halfing what counts as "too young to kill" until we get there.
for (unsigned old = 15000; m_peers.size() > m_idealPeerCount * 2 && old > 100; old /= 2) set<NodeId> dc;
while (m_peers.size() > m_idealPeerCount) for (unsigned old = 15000; m_peers.size() - dc.size() > m_idealPeerCount * 2 && old > 100; old /= 2)
if (m_peers.size() - dc.size() > m_idealPeerCount)
{ {
// look for worst peer to kick off // look for worst peer to kick off
// first work out how many are old enough to kick off. // first work out how many are old enough to kick off.
shared_ptr<Session> worst; shared_ptr<Session> worst;
unsigned agedPeers = 0; unsigned agedPeers = 0;
for (auto i: m_peers) for (auto i: m_peers)
if (!dc.count(i.first))
if (auto p = i.second.lock()) if (auto p = i.second.lock())
if (/*(m_mode != NodeMode::Host || p->m_caps != 0x01) &&*/ chrono::steady_clock::now() > p->m_connect + chrono::milliseconds(old)) // don't throw off new peers; peer-servers should never kick off other peer-servers. if (/*(m_mode != NodeMode::Host || p->m_caps != 0x01) &&*/ chrono::steady_clock::now() > p->m_connect + chrono::milliseconds(old)) // don't throw off new peers; peer-servers should never kick off other peer-servers.
{ {
@ -668,6 +670,7 @@ void Host::prunePeers()
} }
if (!worst || agedPeers <= m_idealPeerCount) if (!worst || agedPeers <= m_idealPeerCount)
break; break;
dc.insert(worst->id());
worst->disconnect(TooManyPeers); worst->disconnect(TooManyPeers);
} }

1
libp2p/Session.cpp

@ -475,7 +475,6 @@ void Session::drop(DisconnectReason _reason)
{ {
if (m_dropped) if (m_dropped)
return; return;
cerr << (void*)this << " dropped" << endl;
if (m_socket.is_open()) if (m_socket.is_open())
try try
{ {

Loading…
Cancel
Save