Author: j16sdiz
Date: 2008-10-24 12:14:07 +0000 (Fri, 24 Oct 2008)
New Revision: 23074

Modified:
   trunk/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
   trunk/freenet/src/freenet/client/InsertContext.java
   trunk/freenet/src/freenet/support/io/NullPersistentFileTracker.java
Log:
singleton for NullPersistentFileTracker

Modified: trunk/freenet/src/freenet/client/HighLevelSimpleClientImpl.java
===================================================================
--- trunk/freenet/src/freenet/client/HighLevelSimpleClientImpl.java     
2008-10-24 12:13:42 UTC (rev 23073)
+++ trunk/freenet/src/freenet/client/HighLevelSimpleClientImpl.java     
2008-10-24 12:14:07 UTC (rev 23074)
@@ -218,7 +218,7 @@

        public InsertContext getInsertContext(boolean forceNonPersistent) {
                return new InsertContext(bucketFactory, forceNonPersistent ? 
bucketFactory : persistentBucketFactory,
-                               forceNonPersistent ? new 
NullPersistentFileTracker() : persistentFileTracker,
+                               forceNonPersistent ? 
NullPersistentFileTracker.getInstance() : persistentFileTracker,
                                random, INSERT_RETRIES, 
CONSECUTIVE_RNFS_ASSUME_SUCCESS,
                                SPLITFILE_INSERT_THREADS, 
SPLITFILE_BLOCKS_PER_SEGMENT, SPLITFILE_CHECK_BLOCKS_PER_SEGMENT, 
                                globalEventProducer, cacheLocalRequests, 
core.uskManager, blockEncoder, core.getExecutor());

Modified: trunk/freenet/src/freenet/client/InsertContext.java
===================================================================
--- trunk/freenet/src/freenet/client/InsertContext.java 2008-10-24 12:13:42 UTC 
(rev 23073)
+++ trunk/freenet/src/freenet/client/InsertContext.java 2008-10-24 12:14:07 UTC 
(rev 23074)
@@ -57,7 +57,7 @@
        }

        public InsertContext(InsertContext ctx, SimpleEventProducer producer, 
boolean forceNonPersistent) {
-               this.persistentFileTracker = forceNonPersistent ? new 
NullPersistentFileTracker() : ctx.persistentFileTracker;
+               this.persistentFileTracker = forceNonPersistent ? 
NullPersistentFileTracker.getInstance() : ctx.persistentFileTracker;
                this.uskManager = ctx.uskManager;
                this.bf = ctx.bf;
                this.persistentBucketFactory = forceNonPersistent ? ctx.bf : 
ctx.persistentBucketFactory;

Modified: trunk/freenet/src/freenet/support/io/NullPersistentFileTracker.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullPersistentFileTracker.java 
2008-10-24 12:13:42 UTC (rev 23073)
+++ trunk/freenet/src/freenet/support/io/NullPersistentFileTracker.java 
2008-10-24 12:14:07 UTC (rev 23074)
@@ -8,6 +8,16 @@
 import freenet.support.api.Bucket;

 public class NullPersistentFileTracker implements PersistentFileTracker {
+       private static NullPersistentFileTracker instance;
+       
+       public static synchronized NullPersistentFileTracker getInstance() {
+               if (instance == null)
+                       instance = new NullPersistentFileTracker();
+               return instance;
+       }
+       
+       private NullPersistentFileTracker() {           
+       }

        public void register(File file) {
                // Do nothing
@@ -33,5 +43,4 @@
        public long getID(File file) {
                return 0;
        }
-
 }


Reply via email to