I updated the node with the transient option, which will keep it from ever setting the "DataSource" to point to itself. Transient makes for a one way proxy node, so that someone behind a shifting connection can run a node but not get any references stuck to it. I know the thing about "taking and not giving", but bad references from people behind modems running local nodes when they insert is just as bad.
Client writers should take note that this means the "DataSource" field is now optional. You can stop setting it to a bogus address when you insert, simply leave it out of the message. People using the java code for clients (Freeloader) should set Core.transience to true and the this will be done automatically. The way I am currently handling this is to tolerate null references in the datastore. Possibly not caching the data at all on the first step from a transient node is another option, I'm not sure which is better. I'm wondering a little about the writing and reading of the StandardDataStore. During my testing tonight, the DataStore seemed cleared between every execution even after the times I had seen the "Writing DataStore to disk" message. Can someone test that it is actually working (I must sleep). -- Oskar Sandberg md98-osa at nada.kth.se #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev