Thread: [brlcad-commits] SF.net SVN: brlcad:[40703] rt^3/trunk/tests/libNet/libNetTest.cxx
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <dav...@us...> - 2010-09-27 17:34:48
|
Revision: 40703 http://brlcad.svn.sourceforge.net/brlcad/?rev=40703&view=rev Author: davidloman Date: 2010-09-27 17:34:41 +0000 (Mon, 27 Sep 2010) Log Message: ----------- Flesh out the basic libNetTest some more. Client and server now connect properly. Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-27 17:30:41 UTC (rev 40702) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-27 17:34:41 UTC (rev 40703) @@ -23,12 +23,12 @@ * */ - +#include "brlcad/bu.h" #include "libnet.h" #include "libutility.h" #include <string> - +#include <sstream> #include <QtCore/QDataStream> #include <QtCore/QString> @@ -39,6 +39,39 @@ Logger::getInstance()->logBANNER("libNetTest", s); } +/** + * Prints the 'usage' statement to the console along with an optional message + */ +void printUsage(std::string customMsg) { + + if (customMsg.length() > 0) { + customMsg += "\n"; + QString s(customMsg.c_str()); + logInfo(s); + } + logInfo("Usage for Client: pkgcppTest client ipAddress port.\n"); + logInfo("Usage for Server: pkgcppTest server port.\n"); + + return; +} + +/** + * Converts char* data to a valid port number + */ +int getValidPort(char* data) { + std::string portStr(data); + int port = atoi(data); + + //Hardcode prolly not best for OS determined port range.... + if (port > 0x0000 && port < 0xFFFF) { + //More validation goes here, if needed. + } else { + printUsage("Supplied Port '" + portStr + "' is invalid."); + bu_exit(1, ""); + } + return port; +} + /* * ===================== * @@ -48,8 +81,75 @@ */ int main(int argc, char* argv[]) { + Logger::getInstance(); + logBanner("libNetTest"); + if (argc > 4 || argc < 3) { + printUsage("Incorrect ARG count."); + bu_exit(1, ""); + } + bool isServer; + short port; + std::string ip(""); + + //Get app mode. Either client or server + std::string cliServ(argv[1]); + std::transform(cliServ.begin(), cliServ.end(), cliServ.begin(), tolower); + + if (cliServ == "client") { + isServer = false; + ip = argv[2]; + port = getValidPort(argv[3]); + } else if (cliServ == "server") { + isServer = true; + port = getValidPort(argv[2]); + } else { + printUsage("Unknown mode: '" + cliServ + "'"); + bu_exit(1, ""); + } + + QString s("Running in "); + s.append(cliServ.c_str()); + s.append(" mode."); + logInfo(s); + + if (isServer) { + PortalManager pm(port); + pm.startup(); + + s = "Listening on port: "; + s.append(port); + logInfo(s); + + //listen for a loooong time. + GSThread::sleep(60 * 60); //1 hr + logInfo("Shutting down..."); + pm.shutdown(); + + } else { + PortalManager pm; + pm.startup(); + + s = "Trying to connect to "; + s.append(ip.c_str()); + s.append(":"); + s.append(QString::number(port)); + logInfo(s); + + QString t(ip.c_str()); //this is dumb! + Portal* p = pm.connectToHost(t, port); + + if (p != 0) { + GSThread::sleep(10); + } + + logInfo("Shutting down..."); + pm.shutdown(); + } + + GSThread::sleep(1); + return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2010-09-27 18:35:11
|
Revision: 40707 http://brlcad.svn.sourceforge.net/brlcad/?rev=40707&view=rev Author: davidloman Date: 2010-09-27 18:35:05 +0000 (Mon, 27 Sep 2010) Log Message: ----------- Make JobManager startup and shutdown an explicit call. Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-27 18:28:59 UTC (rev 40706) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-27 18:35:05 UTC (rev 40707) @@ -25,6 +25,7 @@ #include "brlcad/bu.h" #include "libnet.h" +#include "libjob.h" #include "libutility.h" #include <string> @@ -82,6 +83,8 @@ int main(int argc, char* argv[]) { Logger::getInstance(); + JobManager::getInstance()->startup(); + logBanner("libNetTest"); if (argc > 4 || argc < 3) { @@ -144,12 +147,14 @@ GSThread::sleep(10); } + GSThread::sleep(1); logInfo("Shutting down..."); pm.shutdown(); } GSThread::sleep(1); - + JobManager::getInstance()->shutdown(true); + GSThread::sleep(1); return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2010-09-28 09:16:24
|
Revision: 40724 http://brlcad.svn.sourceforge.net/brlcad/?rev=40724&view=rev Author: starseeker Date: 2010-09-28 09:16:14 +0000 (Tue, 28 Sep 2010) Log Message: ----------- Apparently need this include to get std::transform on gentoo linux (probably has something to do with gcc versions) Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-28 09:10:00 UTC (rev 40723) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-28 09:16:14 UTC (rev 40724) @@ -30,6 +30,7 @@ #include <string> #include <sstream> +#include <algorithm> #include <QtCore/QDataStream> #include <QtCore/QString> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2010-09-28 12:13:44
|
Revision: 40729 http://brlcad.svn.sourceforge.net/brlcad/?rev=40729&view=rev Author: davidloman Date: 2010-09-28 12:13:38 +0000 (Tue, 28 Sep 2010) Log Message: ----------- forgot to run an int thru QString::number() Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-28 11:44:47 UTC (rev 40728) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-28 12:13:38 UTC (rev 40729) @@ -123,7 +123,7 @@ pm.startup(); s = "Listening on port: "; - s.append(port); + s.append(QString::number(port)); logInfo(s); //listen for a loooong time. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2010-09-28 15:04:53
|
Revision: 40738 http://brlcad.svn.sourceforge.net/brlcad/?rev=40738&view=rev Author: davidloman Date: 2010-09-28 15:04:47 +0000 (Tue, 28 Sep 2010) Log Message: ----------- Added logging statements in libNet test. Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-28 15:03:57 UTC (rev 40737) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-28 15:04:47 UTC (rev 40738) @@ -122,10 +122,6 @@ PortalManager pm(port); pm.startup(); - s = "Listening on port: "; - s.append(QString::number(port)); - logInfo(s); - //listen for a loooong time. GSThread::sleep(60 * 60); //1 hr logInfo("Shutting down..."); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2010-09-29 15:39:49
|
Revision: 40834 http://brlcad.svn.sourceforge.net/brlcad/?rev=40834&view=rev Author: davidloman Date: 2010-09-29 15:39:43 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Add in Portal::disconnect() call into libNet test. Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-29 15:38:31 UTC (rev 40833) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-09-29 15:39:43 UTC (rev 40834) @@ -146,10 +146,12 @@ GSThread::sleep(2); TypeOnlyMsg tom(RUALIVE); p->send(&tom); - GSThread::sleep(1); + GSThread::sleep(2); + logInfo("Shutting down..."); + p->disconnect(); } - GSThread::sleep(1); + GSThread::sleep(2); logInfo("Shutting down..."); pm.shutdown(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dav...@us...> - 2010-11-29 17:55:19
|
Revision: 41469 http://brlcad.svn.sourceforge.net/brlcad/?rev=41469&view=rev Author: davidloman Date: 2010-11-29 17:55:12 +0000 (Mon, 29 Nov 2010) Log Message: ----------- More c++ -> c style comments conversion. Modified Paths: -------------- rt^3/trunk/tests/libNet/libNetTest.cxx Modified: rt^3/trunk/tests/libNet/libNetTest.cxx =================================================================== --- rt^3/trunk/tests/libNet/libNetTest.cxx 2010-11-26 14:22:03 UTC (rev 41468) +++ rt^3/trunk/tests/libNet/libNetTest.cxx 2010-11-29 17:55:12 UTC (rev 41469) @@ -63,9 +63,9 @@ std::string portStr(data); int port = atoi(data); - //Hardcode prolly not best for OS determined port range.... + /* Hardcode prolly not best for OS determined port range.... */ if (port > 0x0000 && port < 0xFFFF) { - //More validation goes here, if needed. + /* More validation goes here, if needed. */ } else { printUsage("Supplied Port '" + portStr + "' is invalid."); bu_exit(1, ""); @@ -96,7 +96,7 @@ short port; std::string ip(""); - //Get app mode. Either client or server + /* Get app mode. Either client or server */ std::string cliServ(argv[1]); std::transform(cliServ.begin(), cliServ.end(), cliServ.begin(), tolower); @@ -121,8 +121,8 @@ PortalManager pm(port); pm.start(); - //listen for a loooong time. - GSThread::sleep(60 * 60); //1 hr + /* listen for a loooong time. */ + GSThread::sleep(60 * 60); /* 1 hr */ logInfo("Shutting down..."); pm.shutdown(); @@ -130,7 +130,7 @@ PortalManager pm; pm.start(); - GSThread::sleep(3); + GSThread::sleep(2); s = "Trying to connect to "; s.append(ip.c_str()); @@ -138,33 +138,35 @@ s.append(QString::number(port)); logInfo(s); - QString t(ip.c_str()); //this is dumb! + QString t(ip.c_str()); /* this is dumb! */ Portal* p = pm.connectToHost(t, port); if (p != 0) { - GSThread::sleep(2); + GSThread::sleep(3); TypeOnlyMsg tom(RUALIVE); p->send(&tom); GSThread::sleep(2); - logInfo("Shutting down..."); + logInfo("Disconnecting..."); p->disconnect(); } GSThread::sleep(2); - logInfo("Shutting down..."); + logInfo("Shutting down Portal Manager..."); pm.shutdown(); } GSThread::sleep(1); + logInfo("Shutting down JobManager..."); JobManager::getInstance()->shutdown(true); GSThread::sleep(1); return 0; } - -// Local Variables: *** -// mode: C++ *** -// tab-width: 8 *** -// c-basic-offset: 2 *** -// indent-tabs-mode: t *** -// End: *** -// ex: shiftwidth=2 tabstop=8 +/* + * Local Variables: + * mode: C + * tab-width: 8 + * indent-tabs-mode: t + * c-file-style: "stroustrup" + * End: + * ex: shiftwidth=4 tabstop=8 + */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |