Author: toad
Date: 2006-01-25 22:07:20 +0000 (Wed, 25 Jan 2006)
New Revision: 7928

Modified:
   branches/async-client/src/freenet/client/async/BaseClientPutter.java
   branches/async-client/src/freenet/client/async/ClientPutter.java
   
branches/async-client/src/freenet/client/async/MultiPutCompletionCallback.java
   branches/async-client/src/freenet/client/async/SimpleManifestPutter.java
   branches/async-client/src/freenet/client/async/SingleFileInserter.java
   branches/async-client/src/freenet/client/async/SplitFileInserter.java
Log:
Eliminate setCurrentState in favour of onTransition.

Modified: branches/async-client/src/freenet/client/async/BaseClientPutter.java
===================================================================
--- branches/async-client/src/freenet/client/async/BaseClientPutter.java        
2006-01-25 22:02:03 UTC (rev 7927)
+++ branches/async-client/src/freenet/client/async/BaseClientPutter.java        
2006-01-25 22:07:20 UTC (rev 7928)
@@ -6,6 +6,4 @@
                super(priorityClass, scheduler);
        }

-       public abstract void setCurrentState(ClientPutState inserter);
-
 }

Modified: branches/async-client/src/freenet/client/async/ClientPutter.java
===================================================================
--- branches/async-client/src/freenet/client/async/ClientPutter.java    
2006-01-25 22:02:03 UTC (rev 7927)
+++ branches/async-client/src/freenet/client/async/ClientPutter.java    
2006-01-25 22:07:20 UTC (rev 7928)
@@ -48,10 +48,6 @@
                }
        }

-       public void setCurrentState(ClientPutState s) {
-               currentState = s;
-       }
-
        public void onSuccess(ClientPutState state) {
                finished = true;
                currentState = null;
@@ -85,8 +81,11 @@
                return uri;
        }

-       public void onTransition(ClientPutState oldState, ClientPutState 
newState) {
-               // Ignore
+       public synchronized void onTransition(ClientPutState oldState, 
ClientPutState newState) {
+               if(currentState == oldState)
+                       currentState = newState;
+               else
+                       Logger.error(this, "onTransition: cur="+currentState+", 
old="+oldState+", new="+newState);
        }

        public void onMetadata(Metadata m, ClientPutState state) {

Modified: 
branches/async-client/src/freenet/client/async/MultiPutCompletionCallback.java
===================================================================
--- 
branches/async-client/src/freenet/client/async/MultiPutCompletionCallback.java  
    2006-01-25 22:02:03 UTC (rev 7927)
+++ 
branches/async-client/src/freenet/client/async/MultiPutCompletionCallback.java  
    2006-01-25 22:07:20 UTC (rev 7928)
@@ -18,13 +18,11 @@
        private boolean finished;
        private boolean started;

-       public MultiPutCompletionCallback(PutCompletionCallback cb, 
BaseClientPutter parent, boolean dontTellParent) {
+       public MultiPutCompletionCallback(PutCompletionCallback cb, 
BaseClientPutter parent) {
                this.cb = cb;
                this.waitingFor = new LinkedList();
                this.parent = parent;
                finished = false;
-               if(!dontTellParent)
-                       parent.setCurrentState(this);
        }

        public synchronized void onSuccess(ClientPutState state) {

Modified: 
branches/async-client/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/async-client/src/freenet/client/async/SimpleManifestPutter.java    
2006-01-25 22:02:03 UTC (rev 7927)
+++ branches/async-client/src/freenet/client/async/SimpleManifestPutter.java    
2006-01-25 22:07:20 UTC (rev 7928)
@@ -101,11 +101,6 @@
                                gotAllMetadata();
                        }
                }
-
-               public void setCurrentState(ClientPutState inserter) {
-                       // Ignore
-               }
-
        }

        private final HashMap putHandlersByName;
@@ -272,8 +267,4 @@
                fail(new InserterException(InserterException.INTERNAL_ERROR));
        }

-       public void setCurrentState(ClientPutState inserter) {
-               // Ignore
-       }
-       
 }

Modified: branches/async-client/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- branches/async-client/src/freenet/client/async/SingleFileInserter.java      
2006-01-25 22:02:03 UTC (rev 7927)
+++ branches/async-client/src/freenet/client/async/SingleFileInserter.java      
2006-01-25 22:07:20 UTC (rev 7928)
@@ -64,8 +64,6 @@
                this.cb = cb;
                this.dontTellParent = dontTellParent;
                this.getCHKOnly = getCHKOnly;
-               if(!dontTellParent)
-                       parent.setCurrentState(this);
        }

        public void start() throws InserterException {
@@ -174,7 +172,7 @@
                                dataPutter.schedule();
                        } else {
                                MultiPutCompletionCallback mcb = 
-                                       new MultiPutCompletionCallback(cb, 
parent, dontTellParent);
+                                       new MultiPutCompletionCallback(cb, 
parent);
                                SingleBlockInserter dataPutter = new 
SingleBlockInserter(parent, data, codecNumber, FreenetURI.EMPTY_CHK_URI, ctx, 
mcb, metadata, (int)origSize, -1, getCHKOnly);
                                Metadata meta = new 
Metadata(Metadata.SIMPLE_REDIRECT, dataPutter.getURI(), block.clientMetadata);
                                Bucket metadataBucket;
@@ -199,17 +197,13 @@
                // insert it. Then when the splitinserter has finished, and the
                // metadata insert has finished too, tell the master callback.
                if(reportMetadataOnly) {
-                       SplitFileInserter sfi = new SplitFileInserter(parent, 
cb, data, bestCodec, block.clientMetadata, ctx, getCHKOnly, metadata, true);
+                       SplitFileInserter sfi = new SplitFileInserter(parent, 
cb, data, bestCodec, block.clientMetadata, ctx, getCHKOnly, metadata);
                        cb.onTransition(this, sfi);
-                       if(!dontTellParent)
-                               parent.setCurrentState(sfi);
                        sfi.start();
                } else {
                        SplitHandler sh = new SplitHandler();
-                       SplitFileInserter sfi = new SplitFileInserter(parent, 
sh, data, bestCodec, block.clientMetadata, ctx, getCHKOnly, metadata, true);
+                       SplitFileInserter sfi = new SplitFileInserter(parent, 
sh, data, bestCodec, block.clientMetadata, ctx, getCHKOnly, metadata);
                        sh.sfi = sfi;
-                       if(!dontTellParent)
-                               parent.setCurrentState(sh);
                        cb.onTransition(this, sh);
                        sfi.start();
                }

Modified: branches/async-client/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- branches/async-client/src/freenet/client/async/SplitFileInserter.java       
2006-01-25 22:02:03 UTC (rev 7927)
+++ branches/async-client/src/freenet/client/async/SplitFileInserter.java       
2006-01-25 22:07:20 UTC (rev 7928)
@@ -36,10 +36,8 @@
        final boolean isMetadata;
        private boolean finished;

-       public SplitFileInserter(BaseClientPutter put, PutCompletionCallback 
cb, Bucket data, Compressor bestCodec, ClientMetadata clientMetadata, 
InserterContext ctx, boolean getCHKOnly, boolean isMetadata, boolean 
dontTellParent) throws InserterException {
+       public SplitFileInserter(BaseClientPutter put, PutCompletionCallback 
cb, Bucket data, Compressor bestCodec, ClientMetadata clientMetadata, 
InserterContext ctx, boolean getCHKOnly, boolean isMetadata) throws 
InserterException {
                this.parent = put;
-               if(!dontTellParent)
-                       parent.setCurrentState(this);
                this.finished = false;
                this.isMetadata = isMetadata;
                this.cm = clientMetadata;


Reply via email to