git-svn-id: svn://db.shs.com.ru/pip@23 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2015-03-12 14:42:45 +00:00
parent e97656c102
commit 14aa2c7437
3 changed files with 10 additions and 7 deletions

View File

@@ -129,6 +129,7 @@ public:
EVENT_HANDLER0(void, start) {start(1000.); changeDisconnectTimeout();} EVENT_HANDLER0(void, start) {start(1000.); changeDisconnectTimeout();}
EVENT_HANDLER1(void, start, double, msecs) {if (msecs > 0.) {PITimer::start(msecs); changeDisconnectTimeout();}} EVENT_HANDLER1(void, start, double, msecs) {if (msecs > 0.) {PITimer::start(msecs); changeDisconnectTimeout();}}
EVENT_HANDLER0(void, stop) {PITimer::stop();}
EVENT_HANDLER0(void, reset); EVENT_HANDLER0(void, reset);
EVENT_HANDLER1(void, received, int, size) {received(size, true);} EVENT_HANDLER1(void, received, int, size) {received(size, true);}

View File

@@ -78,6 +78,9 @@ PIPeer::PIPeer(const PIString & name_): PIObject() {
PIPeer::~PIPeer() { PIPeer::~PIPeer() {
timer.stop();
diag_s.stop();
diag_d.stop();
piForeach (PIEthernet * i, eths_traffic) { piForeach (PIEthernet * i, eths_traffic) {
i->stopThreadedRead(); i->stopThreadedRead();
delete i; delete i;
@@ -273,7 +276,7 @@ bool PIPeer::dataRead(uchar * readed, int size) {
a.wait_ping = false; a.wait_ping = false;
if (a.ping < 0) a.ping = ptime.toMilliseconds(); if (a.ping < 0) a.ping = ptime.toMilliseconds();
else a.ping = 0.6 * a.ping + 0.4 * ptime.toMilliseconds(); else a.ping = 0.6 * a.ping + 0.4 * ptime.toMilliseconds();
//piCout << "*** ping echo" << p.name << a.address << a.ping; piCout << "*** ping echo" << p.name << a.address << a.ping;
return true; return true;
} }
} }
@@ -284,7 +287,7 @@ bool PIPeer::dataRead(uchar * readed, int size) {
if (pi) { if (pi) {
if (pi->isNeighbour()) { if (pi->isNeighbour()) {
sba = PIByteArray(readed, size); sba = PIByteArray(readed, size);
//piCout << "ping from" << to << addr << ", send back to" << p.name; piCout << "ping from" << to << addr << ", send back to" << pi->name;
piForeachC (PeerInfo::Address & a, pi->addresses) { piForeachC (PeerInfo::Address & a, pi->addresses) {
if (eth_send.send(a.address, sba)) if (eth_send.send(a.address, sba))
diag_s.received(sba.size_s()); diag_s.received(sba.size_s());
@@ -553,7 +556,7 @@ void PIPeer::syncPeers() {
PeerInfo & cp(peers[i]); PeerInfo & cp(peers[i]);
if (cp.sync > 3) { if (cp.sync > 3) {
pn = cp.name; pn = cp.name;
//piCoutObj << "sync: remove " << pn; piCoutObj << "sync: remove " << pn;
addToRemoved(cp); addToRemoved(cp);
peers.remove(i); peers.remove(i);
sendPeerRemove(pn); sendPeerRemove(pn);
@@ -587,8 +590,7 @@ void PIPeer::findNearestAddresses() {
//piCout << "[PIPeer \"" + name_ + "\"] findNearestAddresses"; //piCout << "[PIPeer \"" + name_ + "\"] findNearestAddresses";
addresses_map.clear(); addresses_map.clear();
int max_dist = -1; int max_dist = -1;
static PIMap<PIString, PeerInfo * > peers_; PIMap<PIString, PeerInfo * > peers_;
peers_.clear();
self_info._nuses.resize(self_info.neighbours.size()); self_info._nuses.resize(self_info.neighbours.size());
self_info._nuses.fill(0); self_info._nuses.fill(0);
self_info._first = &self_info; self_info._first = &self_info;

View File

@@ -231,13 +231,13 @@ void tabConnect() {
} }
int main(int argc, char * argv[]) { int main(int argc, char * argv[]) {
piDebug = false; //piDebug = false;
PICLI cli(argc, argv); PICLI cli(argc, argv);
//cli.addArgument(""); //cli.addArgument("");
sys_mon.startOnSelf(); sys_mon.startOnSelf();
screen.enableExitCapture(PIKbdListener::F10); screen.enableExitCapture(PIKbdListener::F10);
MainMenu menu; MainMenu menu;
screen.start(); //screen.start();
screen.waitForFinish(); screen.waitForFinish();
//return 0; //return 0;
/*while (!PIKbdListener::exiting) { /*while (!PIKbdListener::exiting) {