Browse Source

Rename of Main - MainWin.

cl-refactor
Gav Wood 11 years ago
parent
commit
d6bf8439b5
  1. 10
      TODO
  2. 10
      alephzero/MainWin.cpp
  3. 0
      alephzero/MainWin.h
  4. 7
      alephzero/alephzero.pro
  5. 2
      alephzero/main.cpp
  6. 5
      libethereum/PeerNetwork.cpp
  7. 2
      libethereum/PeerNetwork.h

10
TODO

@ -12,10 +12,6 @@ Better handling of corrupt blocks.
Network: Network:
- Firewall-busting PeerConnections. UPnP? - Firewall-busting PeerConnections. UPnP?
- Crypto on network. TLS? - Crypto on network. TLS?
- Respect idealPeerCount.
- Peer network traversal for peer discovery.
- Check peer utility (useful transactions & blocks passed) for when dismissing.
- Respect peer count & dismiss/collect/stop listening for peers as necessary.
- Make work with IPv6 - Make work with IPv6
- Consider node addresses - Consider node addresses
@ -26,6 +22,12 @@ FOR ALPHA:
Network: Network:
* Manage GetBlocks properly; should work for when > 256 blocks away. * Manage GetBlocks properly; should work for when > 256 blocks away.
- configurable (lower) mine times, configurable (reduced) max blocks to be sent then check.
* Kill peers when too many
- Respect idealPeerCount.
- Peer network traversal for peer discovery.
- Check peer utility (useful transactions & blocks passed) for when dismissing.
- Respect peer count & dismiss/collect/stop listening for peers as necessary.
UI: UI:
* State panel shouldn't show pending (i.e. post-mined) transactions. * State panel shouldn't show pending (i.e. post-mined) transactions.

10
alephzero/Main.cpp → alephzero/MainWin.cpp

@ -2,7 +2,7 @@
#include <QtWidgets> #include <QtWidgets>
#include <QtCore> #include <QtCore>
#include <libethereum/Dagger.h> #include <libethereum/Dagger.h>
#include "Main.h" #include "MainWin.h"
#include "ui_Main.h" #include "ui_Main.h"
using namespace std; using namespace std;
using namespace eth; using namespace eth;
@ -26,7 +26,7 @@ Main::Main(QWidget *parent) :
{ {
m_servers = QString::fromUtf8(_r->readAll()).split("\n", QString::SkipEmptyParts); m_servers = QString::fromUtf8(_r->readAll()).split("\n", QString::SkipEmptyParts);
}); });
QNetworkRequest r(QUrl("http://gavwood.com/servers.txt")); QNetworkRequest r(QUrl("http://ethereum.org/servers.txt"));
r.setHeader(QNetworkRequest::UserAgentHeader, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1712.0 Safari/537.36"); r.setHeader(QNetworkRequest::UserAgentHeader, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1712.0 Safari/537.36");
m_webCtrl.get(r); m_webCtrl.get(r);
srand(time(0)); srand(time(0));
@ -131,10 +131,14 @@ void Main::on_connect_clicked()
{ {
if (!ui->net->isChecked()) if (!ui->net->isChecked())
ui->net->setChecked(true); ui->net->setChecked(true);
QString s = QInputDialog::getItem(this, "Connect to a Network Peer", "Enter a peer to which a connection may be made:", m_servers, rand() % m_servers.count(), true); bool ok = false;
QString s = QInputDialog::getItem(this, "Connect to a Network Peer", "Enter a peer to which a connection may be made:", m_servers, m_servers.count() ? rand() % m_servers.count() : 0, true, &ok);
if (ok)
{
string host = s.section(":", 0, 0).toStdString(); string host = s.section(":", 0, 0).toStdString();
short port = s.section(":", 1).toInt(); short port = s.section(":", 1).toInt();
m_client.connect(host, port); m_client.connect(host, port);
}
} }
void Main::on_mine_toggled() void Main::on_mine_toggled()

0
alephzero/Main.h → alephzero/MainWin.h

7
alephzero/alephzero.pro

@ -15,10 +15,11 @@ QMAKE_LIBDIR += ../../cpp-ethereum-build/libethereum ../../secp256k1 ../../crypt
LIBS += -Wl,-rpath,../../cpp-ethereum-build/libethereum -Wl,-rpath,../../secp256k1 -Wl,-rpath,../../cryptopp562 -lethereum -lsecp256k1 -lleveldb -lcryptopp -lgmp -lboost_filesystem -lboost_system LIBS += -Wl,-rpath,../../cpp-ethereum-build/libethereum -Wl,-rpath,../../secp256k1 -Wl,-rpath,../../cryptopp562 -lethereum -lsecp256k1 -lleveldb -lcryptopp -lgmp -lboost_filesystem -lboost_system
INCLUDEPATH = ../../secp256k1/include ../../cryptopp562 ../../cpp-ethereum INCLUDEPATH = ../../secp256k1/include ../../cryptopp562 ../../cpp-ethereum
SOURCES += main.cpp\ SOURCES += main.cpp \
Main.cpp MainWin.cpp
HEADERS += Main.h HEADERS += \
MainWin.h
FORMS += Main.ui FORMS += Main.ui

2
alephzero/main.cpp

@ -1,4 +1,4 @@
#include "Main.h" #include "MainWin.h"
#include <QApplication> #include <QApplication>
int main(int argc, char *argv[]) int main(int argc, char *argv[])

5
libethereum/PeerNetwork.cpp

@ -32,7 +32,8 @@ using namespace eth;
PeerSession::PeerSession(PeerServer* _s, bi::tcp::socket _socket, uint _rNId): PeerSession::PeerSession(PeerServer* _s, bi::tcp::socket _socket, uint _rNId):
m_server(_s), m_server(_s),
m_socket(std::move(_socket)), m_socket(std::move(_socket)),
m_reqNetworkId(_rNId) m_reqNetworkId(_rNId),
m_rating(0)
{ {
} }
@ -139,6 +140,7 @@ bool PeerSession::interpret(RLP const& _r)
break; break;
case Transactions: case Transactions:
cout << std::setw(2) << m_socket.native_handle() << " | Transactions (" << dec << (_r.itemCount() - 1) << " entries)" << endl; cout << std::setw(2) << m_socket.native_handle() << " | Transactions (" << dec << (_r.itemCount() - 1) << " entries)" << endl;
m_rating += _r.itemCount() - 1;
for (unsigned i = 1; i < _r.itemCount(); ++i) for (unsigned i = 1; i < _r.itemCount(); ++i)
{ {
m_server->m_incomingTransactions.push_back(_r[i].data().toBytes()); m_server->m_incomingTransactions.push_back(_r[i].data().toBytes());
@ -147,6 +149,7 @@ bool PeerSession::interpret(RLP const& _r)
break; break;
case Blocks: case Blocks:
cout << std::setw(2) << m_socket.native_handle() << " | Blocks (" << dec << (_r.itemCount() - 1) << " entries)" << endl; cout << std::setw(2) << m_socket.native_handle() << " | Blocks (" << dec << (_r.itemCount() - 1) << " entries)" << endl;
m_rating += _r.itemCount() - 1;
for (unsigned i = 1; i < _r.itemCount(); ++i) for (unsigned i = 1; i < _r.itemCount(); ++i)
{ {
m_server->m_incomingBlocks.push_back(_r[i].data().toBytes()); m_server->m_incomingBlocks.push_back(_r[i].data().toBytes());

2
libethereum/PeerNetwork.h

@ -101,6 +101,8 @@ private:
std::chrono::steady_clock::time_point m_ping; std::chrono::steady_clock::time_point m_ping;
unsigned m_rating;
std::set<h256> m_knownBlocks; std::set<h256> m_knownBlocks;
std::set<h256> m_knownTransactions; std::set<h256> m_knownTransactions;
}; };

Loading…
Cancel
Save