Revision: 40746
          http://brlcad.svn.sourceforge.net/brlcad/?rev=40746&view=rev
Author:   davidloman
Date:     2010-09-28 18:11:23 +0000 (Tue, 28 Sep 2010)

Log Message:
-----------
Portal<->Portal handshaking is working now.

Modified Paths:
--------------
    rt^3/trunk/src/libNet/NetMsgFactory.cxx
    rt^3/trunk/src/libNet/Portal.cxx
    rt^3/trunk/src/libNet/PortalManager.cxx

Modified: rt^3/trunk/src/libNet/NetMsgFactory.cxx
===================================================================
--- rt^3/trunk/src/libNet/NetMsgFactory.cxx     2010-09-28 17:58:40 UTC (rev 
40745)
+++ rt^3/trunk/src/libNet/NetMsgFactory.cxx     2010-09-28 18:11:23 UTC (rev 
40746)
@@ -70,7 +70,7 @@
   s.append(" len: ");
   s.append(QString::number(data.size()));
   Logger::getInstance()->logDEBUG("NetMsgFactory", s);
-
+/*
   QString dstr("Bytes: ");
 
   data.data();
@@ -81,6 +81,7 @@
          dstr.append(", ");
   }
   Logger::getInstance()->logDEBUG("NetMsgFactory", dstr);
+*/
 
   QDataStream* qds = new QDataStream(data);
 

Modified: rt^3/trunk/src/libNet/Portal.cxx
===================================================================
--- rt^3/trunk/src/libNet/Portal.cxx    2010-09-28 17:58:40 UTC (rev 40745)
+++ rt^3/trunk/src/libNet/Portal.cxx    2010-09-28 18:11:23 UTC (rev 40746)
@@ -112,7 +112,6 @@
                this->log->logERROR("Portal", "Client closed the 
connection.\n");
                return retval;
        }
-       bu_log("Sucked in %d bytes.\n", retval);
 
        retval = this->pkgClient->processData();
        if (retval < 0) {
@@ -144,7 +143,7 @@
                        this->log->logDEBUG("Portal", s);
 
                        //reply
-                       this->sendGSNodeName();
+                       //this->sendGSNodeName();
                }
                delete msg;
                return true;
@@ -159,10 +158,12 @@
                bu_bomb("pkg callback returned a NULL buffer!\n");
        }
 
-       QByteArray ba(buf);
+       int len = conn->pkc_inend - sizeof(pkg_header);
 
+       QByteArray ba(buf, len);
+
        QString s("Got ");
-       s.append(QString::number(ba.size()));
+       s.append(QString::number(len));
        s.append(" bytes.");
        Logger::getInstance()->logINFO("Portal(s)", s);
 
@@ -173,7 +174,7 @@
        Portal* p = (Portal*) conn->pkc_user_data;
 
        if (p == 0) {
-               bu_log("WARNING!  NetMsg failed to deserialize properly.\n");
+               bu_log("WARNING!  NULL Portal.\n");
        }
 
        //TODO Split the code here?  Fire off a Job?

Modified: rt^3/trunk/src/libNet/PortalManager.cxx
===================================================================
--- rt^3/trunk/src/libNet/PortalManager.cxx     2010-09-28 17:58:40 UTC (rev 
40745)
+++ rt^3/trunk/src/libNet/PortalManager.cxx     2010-09-28 18:11:23 UTC (rev 
40746)
@@ -198,8 +198,6 @@
                                } else {
                                        //Handle new client here.
                                        p = this->makeNewPortal(client, table);
-                                       GSThread::sleep(2);
-                                       p->sendGSNodeName();
                                }
                        }
 
@@ -237,11 +235,6 @@
 
                                int readResult = p->read();
 
-                               QString s("Got ");
-                               s.append(QString::number(readResult));
-                               s.append(" bytes.");
-                               Logger::getInstance()->logINFO("PortalManager", 
s);
-
                                if (readResult == 0) {
                                        this->closeFD(i, "Lost connection.");
                                        continue;
@@ -270,16 +263,16 @@
 
 Portal*
 PortalManager::makeNewPortal(PkgTcpClient* client, struct pkg_switch* table) {
-       Portal* newPortal = new Portal(client, table);
+       Portal* p = new Portal(client, table);
 
-       if (newPortal == 0) {
+       if (p == 0) {
                return 0;
        }
 
        //Obtain lock and then map this new portal
        this->portalsLock->lock();
-       int newFD = newPortal->pkgClient->getFileDescriptor();
-       this->fdPortalMap->insert(newFD, newPortal);
+       int newFD = p->pkgClient->getFileDescriptor();
+       this->fdPortalMap->insert(newFD, p);
        this->portalsLock->unlock();
 
        QString s("New Portal with FD: ");
@@ -293,7 +286,10 @@
                fdmax = newFD;
                this->masterFDSLock.unlock();
        }
-       return newPortal;
+
+       p->sendGSNodeName();
+
+       return p;
 }
 
 struct pkg_switch*


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to