On Friday 01 August 2008 21:45, nextgens at freenetproject.org wrote:
> Author: nextgens
> Date: 2008-08-01 20:45:14 +0000 (Fri, 01 Aug 2008)
> New Revision: 21569
>
> Modified:
> trunk/freenet/src/freenet/node/Node.java
> trunk/freenet/src/freenet/node/NodeStarter.java
> Log:
> Pass the weakRandom in the Node's constructor so that both PRNGs can be set
to the same source for simulation purposes
Are you planning to create a separate MT for each node externally for
simulations (for locking reasons)? Should we?
>
> Modified: trunk/freenet/src/freenet/node/Node.java
> ===================================================================
> --- trunk/freenet/src/freenet/node/Node.java 2008-08-01 20:37:10 UTC (rev
21568)
> +++ trunk/freenet/src/freenet/node/Node.java 2008-08-01 20:45:14 UTC (rev
21569)
> @@ -611,10 +611,12 @@
> * @param random The random number generator for this node. Passed in
because we may want
> * to use a non-secure RNG for e.g. one-JVM live-code simulations.
> Should
be a Yarrow in
> * a production node. Yarrow will be used if that parameter is null
> + * @param weakRandom The fast random number generator the node will
> use.
If null a MT
> + * instance will be used, seeded from the secure PRNG.
> * @param the loggingHandler
> * @throws NodeInitException If the node initialization fails.
> */
> - Node(PersistentConfig config, RandomSource r, LoggingConfigHandler lc,
NodeStarter ns, Executor executor) throws NodeInitException {
> + Node(PersistentConfig config, RandomSource r, RandomSource weakRandom,
LoggingConfigHandler lc, NodeStarter ns, Executor executor) throws
NodeInitException {
> // Easy stuff
> logMINOR = Logger.shouldLog(Logger.MINOR, this);
> String tmp = "Initializing Node using Freenet Build
#"+Version.buildNumber()+" r"+Version.cvsRevision+" and freenet-ext Build
#"+NodeStarter.extBuildNumber+" r"+NodeStarter.extRevisionNumber+"
with "+System.getProperty("java.vendor")+" JVM
version "+System.getProperty("java.version")+" running
on "+System.getProperty("os.arch")+' '+System.getProperty("os.name")+'
'+System.getProperty("os.version");
> @@ -698,13 +700,17 @@
> entropyGatheringThread.start();
> this.random = new Yarrow();
> DiffieHellman.init(random);
> +
> } else // if it's not null it's because we are running in the
> simulator
> this.random = r;
> isPRNGReady = true;
> toadlets.getStartupToadlet().setIsPRNGReady();
> - byte buffer[] = new byte[16];
> - random.nextBytes(buffer);
> - this.fastWeakRandom = new MersenneTwister(buffer);
> + if(weakRandom == null) {
> + byte buffer[] = new byte[16];
> + random.nextBytes(buffer);
> + this.fastWeakRandom = new MersenneTwister(buffer);
> + }else
> + this.fastWeakRandom = weakRandom;
>
> nodeNameUserAlert = new MeaningfulNodeNameUserAlert(this);
> recentlyCompletedIDs = new LRUQueue();
>
> Modified: trunk/freenet/src/freenet/node/NodeStarter.java
> ===================================================================
> --- trunk/freenet/src/freenet/node/NodeStarter.java 2008-08-01 20:37:10 UTC
(rev 21568)
> +++ trunk/freenet/src/freenet/node/NodeStarter.java 2008-08-01 20:45:14 UTC
(rev 21569)
> @@ -149,7 +149,7 @@
> SSL.init(sslConfig);
>
> try {
> - node = new Node(cfg, null, logConfigHandler, this,
> executor);
> + node = new Node(cfg, null, null, logConfigHandler,
> this, executor);
> node.start(false);
> System.out.println("Node initialization completed.");
> } catch(NodeInitException e) {
> @@ -396,7 +396,7 @@
>
> PersistentConfig config = new PersistentConfig(configFS);
>
> - Node node = new Node(config, random, null, null, executor);
> + Node node = new Node(config, random, random, null, null,
> executor);
>
> //All testing environments connect the nodes as they want, even
> if the
old setup is restored, it is not desired.
> node.peers.removeAllPeers();
>
> _______________________________________________
> cvs mailing list
> cvs at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20080802/fb62558c/attachment.pgp>