git-svn-id: svn://db.shs.com.ru/pip@268 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -1071,6 +1071,8 @@ void PIConnection::DevicePool::run() {
|
||||
void __DevicePool_threadReadDP(void * ddp) {
|
||||
PIConnection::DevicePool::DeviceData * dd((PIConnection::DevicePool::DeviceData * )ddp);
|
||||
if (dd->dev == 0) {piMSleep(100); return;}
|
||||
if (dd->dev->isClosed())
|
||||
if (!dd->dev->open()) {piMSleep(dd->dev->reopenTimeout()); return;}
|
||||
PIByteArray ba;
|
||||
ba = dd->dev->read(dd->dev->threadedReadBufferSize());
|
||||
// dd->dev->threadedRead(ba.data(), ba.size());
|
||||
|
||||
@@ -141,6 +141,7 @@ PIPeer::PIPeer(const PIString & n): PIIODevice(), diag_d(false), diag_s(false),
|
||||
PIMutexLocker pl(peers_mutex);
|
||||
PIMutexLocker sl(send_mutex);
|
||||
changeName(n);
|
||||
setReopenTimeout(100);
|
||||
read_buffer_size = 128;
|
||||
self_info.dist = 0;
|
||||
self_info.time = PISystemTime::current();
|
||||
@@ -191,6 +192,7 @@ void PIPeer::timerEvent(void * data, int delim) {
|
||||
syncPeers();
|
||||
piMSleep(100);
|
||||
pingNeighbours();
|
||||
//piCoutObj << "isOpened" << isOpened();
|
||||
break;
|
||||
case 5: // every 5 s
|
||||
checkNetwork();
|
||||
@@ -556,7 +558,8 @@ bool PIPeer::mbcastRead(uchar * data, int size) {
|
||||
pi.resetPing();
|
||||
addPeer(pi);
|
||||
buildMap();
|
||||
//piCoutObj << "new peer \"" << pi.name << "\"" << " dist " << pi.dist;
|
||||
// piCoutObj << "new peer \"" << pi.name << "\"" << " dist " << pi.dist;
|
||||
// piCoutObj << mode() << opened_;
|
||||
pi.dist++;
|
||||
sendSelfInfo();
|
||||
sendPeerInfo(pi);
|
||||
@@ -804,6 +807,7 @@ bool PIPeer::openDevice() {
|
||||
reinit();
|
||||
diag_d.reset();
|
||||
diag_s.reset();
|
||||
//piCoutObj << "open...";
|
||||
PIMutexLocker ml(peers_mutex);
|
||||
if (trust_peer.isEmpty())
|
||||
return !peers.isEmpty();
|
||||
@@ -898,7 +902,7 @@ void PIPeer::changeName(const PIString &new_name) {
|
||||
|
||||
PIString PIPeer::constructFullPath() const {
|
||||
PIString ret(fullPathPrefix() + "://");
|
||||
ret << name() << ":" << trustPeerName();
|
||||
ret << self_info.name << ":" << trustPeerName();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user