IRC log for #brlcad on 20110314

01:13.33*** join/#brlcad dli_ (~dli@dsl-69-171-148-245.acanac.net)
01:57.41*** join/#brlcad Ralith (~ralith@S010600221561996a.vc.shawcable.net)
02:22.30``Erikum, tpkg.c is a trivial libpkg client/server thingiemajigger
05:33.33*** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
05:43.04*** join/#brlcad Stattrav (~Stattrav@122.172.156.61)
05:43.04*** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
06:00.49*** join/#brlcad yukonbob_ (~bch@20-144.wireless.kamloops.net)
06:00.49*** join/#brlcad dtidrow_ (~dtidrow@c-68-60-96-218.hsd1.mi.comcast.net)
08:44.25*** join/#brlcad dli_ (~dli@dsl-69-171-148-245.acanac.net)
11:57.05*** join/#brlcad d_rossberg (~rossberg@BZ.BZFLAG.BZ)
11:57.43dlomanMernin all
12:01.54starseeker``Erik: looked at that - but it appears to be a "the client talks, the server listens" setup
12:02.21starseekerdloman: did we ever get the geometry service to the point where the client and server communicate back and forth over the network?
12:03.10dlomanstarseeker: oh ya, one second
12:03.17starseekerbased on what I've seen so far, the client and server will each have to run both a server instance, with the client sending its info to the server in order for the server to communicate back
12:03.41starseeker(to the client'
12:03.45starseekers server)
12:04.07dloman....um, no :)
12:04.25starseekerno?
12:04.30starseekerno what? :-P
12:05.02dlomanone second, psudo afk
12:05.08starseekerk
12:05.49starseekerI've got to return some fans anyhow - if you can post how to get geomclient and geomserv to communicate meaningfully it would be a big help
12:06.05starseekerthe C++ code is hard to follow
12:07.13dlomanboth use libNet.
12:08.38starseekerdloman: I'm trying to write a client that doesn't use libnet
12:09.01dlomanalready got one in progress.
12:09.07starseekerI can send stuff to the server, but I can't figure out how to get responses back
12:09.37dlomanif you want, I can run u thru the code tomorrow
12:09.44starseekerthat'd be great
12:10.35starseekeryou're not in today, I take it?
12:11.29dlomannot, telework
12:11.59dlomanokay, sorry
12:12.10dlomanwas moving the laptops upstairs, hooking up, etc.
12:12.18starseekerthat's OK
12:13.29dlomanOkay, I am doing the java inteface thingy for ``Erik / guys upstairs
12:13.35dlomanand am using that as a protocol validation
12:13.44starseekernods
12:13.45dlomani have a minimal client already going in there.
12:13.52dlomanthat doesnt use libNet
12:14.03starseekerthe bit I'm interested in right now is how you're getting responses back from the server
12:14.21starseekerpkg_send I figured out finally, but it seems to be a one way street so far
12:20.10starseekerI send the "RUALIVE" thing, but where do I look in the pkg setup for the response?
12:20.43dloman...granted its a similar incarnation, java style.
12:20.50dlomanone second.
12:21.00dlomanlost mt Mt Dew, had to find it.  Priorities ya know
12:21.05starseekerhehe
12:21.13starseekerof course - cars don't run without fuel
12:21.33dlomanheh, well getting my 2 cyls going dunt take much :)
12:21.46dlomanokay,
12:21.47dlomanso
12:21.53dlomanon the geomserv
12:22.21dlomanwe will assume that a connection has already been established and that the server side has a valid Portal to communicate thru
12:23.04dlomanthe server also will have a PortalManager that will do all the selecting on all sockets (FDs)
12:23.16dlomanthe PM has a FD<->Portal mapping.
12:23.49dlomanwhen select returns a FD that is ready for read
12:24.01dlomana lookup on the mentioned map occurs
12:24.11dlomanand the Portal::read() fn is called.
12:24.33dlomanPortal::read() is simply a set of PKG calls
12:24.46dlomanprocess(), suckin(), process()
12:25.15dlomannow, the process() call will make pkg attempt to form a complete PKG msg
12:25.39dlomandue to C++ limitations in the arena of function pointers, I had to short circuit the PKG's callback functionality
12:26.15dlomannormally, when a pkg_conn is instantiated, it is fed a routing table
12:26.44dlomanpkg then routes incoming pkg msgs according to the 16bit pkg_type and this routing table
12:27.48dlomanin libNet, that routing table consists of a single type, and thus ALL pkg msgs are routed to Portal::callbackSpringboard
12:27.53dloman..which is static
12:28.59dlomanat this point, the bytes from the pkg data load are putinto a ByteArray object and the GS type is read
12:29.14dlomanGS type is the first 16 bits of the pkg data load.
12:29.18starseekerok, I think I'm with you
12:29.43starseekerit then deserializes the message and figures out what it's dealing with
12:29.58dlomanthe GSType is used in the NetMsg Factory to figure out which NetMsg deserial cstr to call.
12:30.03dlomanexactly.
12:30.24dlomanafter a successful deserial, the NetMsg Factory hands the completed message over to the NetMsgRouter
12:30.49dlomanNetMsgRouter is (right now) a simple subscriber/publisher setup
12:31.56dlomanso if there is no routing data for a GS NetMsg, then it's discarded
12:32.12dlomanlooking at GeometryService::registerMsgRoutes,
12:32.17starseekerok... where would it get routing data?
12:32.33dlomani see there is no mapping (currently) for RUALIVE
12:32.59CIA-14BRL-CAD: 03starseeker * r43858 10/geomcore/trunk/src/GS/CMakeLists.txt: Whoops, copy paste typo
12:33.35dlomanhrm, there are two netmsg types that are supposed to be handled by the Portal object, RemNodeNameSet and RUALIVE
12:33.46dlomani wonder why its not working...
12:34.03dlomani am debugging the gs with all the changes still, might be something there.
12:34.09starseekerk
12:34.18starseekerwas going insane on Sunday
12:34.36dlomanbut to answer your 'where does it get routing data from ' question: its all configurable.
12:34.56dlomanthe geomserve does it in GeometryService.cxx line 58
12:35.21starseekerdloman: as an aside, it sounds like we're paying a fairly high complexity price for being able to use C++
12:35.52dlomaneh, kinda.
12:36.09starseekernot a criticism, just curious - how come C++ instead of C?
12:36.14dlomanthe pkg complexity has been minimized (with lots of hairpulling and pain)
12:36.28starseekerright, but why not just do it the libpkg way in C?
12:36.34dlomanfrom what I understand, its from a few differnt sources.
12:37.02dlomandesire to have a C++ interface for the general public
12:37.22dlomanC++ lends itself to a plugin-able style app arch better than C
12:37.27dlomanand a few others i've forgotten.
12:37.31starseekerurm.  For the GS, that's kinda moot - the interface is the network protocol
12:37.44dlomanping brlcad, im sure he remembers all the reasons :)
12:37.55dlomannot really.
12:38.14dlomanthe design for the GS is to have modules of functionality that can be 'plugged in'
12:38.27dlomanaka, the STEPConverter plugin
12:38.32starseekeruh... that's on the backend
12:38.46dlomanyeah
12:39.35starseekerdloman: ok, well I've got to get those fans back - if you can debug why RUALIVE isn't doing anything I'd appreciate it :-)
12:39.44dlomankk
12:39.50starseekerthanks, bbl
12:47.19*** join/#brlcad Stattrav (~Stattrav@122.172.156.61)
12:47.19*** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
13:33.57``Erikhm, the build stuff I added was just copying another file and updating it... BSD license is dandy with me *shrug* (I think that technically, my contributions are considered public domain)
13:44.23dloman``Erik: segfaulting in your magic endian converter in geomcore
13:45.10dlomanthe whole dat[0] ^= data[7] ^= data[0] ^= data[7] block
13:47.48dlomanneed a little help there since i verified the data its manipulating is not NULL, but all those bitwise ops are beyond me :/
13:48.21``Erikhmmmm
14:07.06CIA-14BRL-CAD: 03erikgreenwald * r43859 10/geomcore/trunk/src/libNet/netMsg/GenericEightBytesMsg.cxx: use ntohll instead of the xor hack
14:12.50dlomanexcellent, thanks!
14:13.02``Erikthat fixed it? O.o
14:13.30dlomanwell, i had to put the htohll call down in the _serialize() fn too, but yeah, it seems to be working
14:13.36dlomanwell, it doesnt segfault anymore
14:13.47dlomanim going to validate the values in a second
14:13.56``Erikcool
14:14.24``Erikhttp://www.cnn.com/2011/POLITICS/03/13/crowley.stepping.down/index.html?hpt=T2
14:54.37starseekerdloman: is there a client/server setup anywhere (test app, whatever) that I can start up a server and client, type "ping" in the client and have the *client* (not the server) print out the server's *PONG* response?
14:55.10starseekeri.e. not a log message being generated by the server, but a command line report in the client of what the server's response was?
14:57.49dlomanyes, Im debugging that very thing atm
14:58.32starseekercool, thanks
14:59.04starseekerfeels another hair turn grey...
14:59.29dlomanhows the basement dewatering going?
14:59.57starseekerwe're pretty much dried out - the test now is to see what will happen with the pump actually in place
15:00.16dlomandid you do an op test of the pump?
15:00.40starseekerheh - that's what finally stopped the flooding from getting worse Thursday
15:00.47starseekerpump was working for a while to clear the backlog
15:01.04dlomanwell, nothing like a burn in :)
15:01.11dlomangood to hear you are all dried out.
15:01.27dlomansucky thing to be happening in a 'new' home :/
15:01.46starseekerno kidding - we're probably looking a this, roof and gutters this spring
15:11.06dlomanhe he, neat.  somehow, my PING messages are all originating from the same time... a long time ago, resulting in roundtrip times in the 3 million seconds range, lol
16:03.00dlomanis htonll a libbu thing?
16:03.13starseekerI don't believe so
16:03.47dlomani cant find info on htonll.... htonl, sure but not the ll version
16:03.59starseekerhttp://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.commtechref/doc/commtrf2/htonll.htm
16:04.35dlomanbah, bloody google was replacing text for me :/
16:04.55starseekeralso, see bu.h line 661 or thereabouts
16:04.56dlomanthanks :)
16:05.06starseekernot all platforms have it
16:05.11starseeker(apparently)
17:21.21CIA-14BRL-CAD: 03davidloman * r43860 10/geomcore/trunk/src/GS/GSClient.cxx: Clean up PING and PONG logging.
17:22.34CIA-14BRL-CAD: 03davidloman * r43861 10/geomcore/trunk/src/GS/GeometryService.cxx: Clean up PING and PONG logging on server side also.
17:25.22CIA-14BRL-CAD: 03davidloman * r43862 10/geomcore/trunk/src/libNet/netMsg/GenericEightBytesMsg.cxx: Fix a network/host ordering issue.
17:38.00*** join/#brlcad Stattrav (~Stattrav@117.192.138.246)
17:38.00*** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
17:55.28starseekergets back to basics: http://beej.us/guide/bgnet/output/html/multipage/index.html
20:15.22``Erikhttp://bravenewclimate.com/2011/03/13/fukushima-simple-explanation/
20:38.03``Erikstarseeker: ISC license (like the new BSD), specifically for the mdoc macro package, http://mdocml.bsd.lv/
20:47.54starseekerawesome
20:49.45*** part/#brlcad willdye (~willdye@fern.dsndata.com)
21:01.08*** join/#brlcad willdye (~willdye@fern.dsndata.com)
22:01.23Ralithwhy do we need a new BSD?
22:02.07starseekerRalith: new BSD license (a.k.a Modified BSD license) - no advertising clause
22:02.39Ralithoh, so the "new BSD", not the new "BSD"
22:04.41starseekerright

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.