Author: toad
Date: 2008-06-14 13:03:12 +0000 (Sat, 14 Jun 2008)
New Revision: 20336

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
Log:
Add connection type.

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-06-14 
11:25:19 UTC (rev 20335)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-06-14 
13:03:12 UTC (rev 20336)
@@ -19,7 +19,7 @@
  */
 public class FCPClient {

-       public FCPClient(String name2, FCPServer server, FCPConnectionHandler 
handler, boolean isGlobalQueue, RequestCompletionCallback cb) {
+       public FCPClient(String name2, FCPServer server, FCPConnectionHandler 
handler, boolean isGlobalQueue, RequestCompletionCallback cb, short 
persistenceType) {
                this.name = name2;
                if(name == null) throw new NullPointerException();
                this.currentConnection = handler;
@@ -30,6 +30,8 @@
                this.core = server.core;
                this.client = core.makeClient((short)0);
                this.isGlobalQueue = isGlobalQueue;
+               this.persistenceType = persistenceType;
+               assert(persistenceType == ClientRequest.PERSIST_FOREVER || 
persistenceType == ClientRequest.PERSIST_REBOOT);
                defaultFetchContext = client.getFetchContext();
                defaultInsertContext = client.getInsertContext(false);
                clientsWatching = new LinkedList();
@@ -78,6 +80,8 @@
        final RequestClient lowLevelClientPersistent;
        final RequestClient lowLevelClientTransient;
        private RequestCompletionCallback completionCallback;
+       /** Connection mode */
+       private final short persistenceType;

        public synchronized FCPConnectionHandler getConnection() {
                return currentConnection;
@@ -98,6 +102,7 @@
         * acked yet, so it should be moved to the unacked-completed-requests 
set.
         */
        public void finishedClientRequest(ClientRequest get) {
+               assert(get.persistenceType == persistenceType);
                synchronized(this) {
                        if(runningPersistentRequests.remove(get)) {
                                completedUnackedRequests.add(get);
@@ -135,6 +140,7 @@
        }

        public void register(ClientRequest cg, boolean startLater) throws 
IdentifierCollisionException {
+               assert(cg.persistenceType == persistenceType);
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Registering 
"+cg.getIdentifier()+(startLater ? " to start later" : ""));
                synchronized(this) {
@@ -273,6 +279,7 @@
         * Callback called when a request succeeds.
         */
        public void notifySuccess(ClientRequest req) {
+               assert(req.persistenceType == persistenceType);
                if(completionCallback != null)
                        completionCallback.notifySuccess(req);
        }
@@ -282,6 +289,7 @@
         * @param get
         */
        public void notifyFailure(ClientRequest req) {
+               assert(req.persistenceType == persistenceType);
                if(completionCallback != null)
                        completionCallback.notifyFailure(req);
        }


Reply via email to