[infinispan-commits] Infinispan SVN: r168 - in trunk/core/src/main/java/org/infinispan: remoting/responses and 1 other directory.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Fri Apr 24 12:06:56 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-04-24 12:06:56 -0400 (Fri, 24 Apr 2009)
New Revision: 168
Added:
trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java
Modified:
trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java
Log:
Extracted filter to separate class
Modified: trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java 2009-04-24 13:03:54 UTC (rev 167)
+++ trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java 2009-04-24 16:06:56 UTC (rev 168)
@@ -15,11 +15,10 @@
import org.infinispan.remoting.ResponseFilter;
import org.infinispan.remoting.ResponseMode;
import org.infinispan.remoting.RpcManager;
+import org.infinispan.remoting.responses.ClusteredGetResponseValidityFilter;
import org.infinispan.remoting.responses.Response;
import org.infinispan.remoting.responses.SuccessfulResponse;
-import org.infinispan.remoting.transport.Address;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
@@ -77,35 +76,8 @@
throw new IllegalStateException("TODO - please implement me!!!");
}
- public static class ResponseValidityFilter implements ResponseFilter {
-
- private int numValidResponses = 0;
-
- private List<Address> pendingResponders;
-
- public ResponseValidityFilter(List<Address> expected, Address localAddress) {
- this.pendingResponders = new ArrayList<Address>(expected);
- // We'll never get a response from ourself
- this.pendingResponders.remove(localAddress);
- }
-
- public boolean isAcceptable(Response response, Address address) {
- pendingResponders.remove(address);
-
- if (response instanceof SuccessfulResponse) numValidResponses++;
-
- // always return true to make sure a response is logged by the JGroups RpcDispatcher.
- return true;
- }
-
- public boolean needMoreResponses() {
- return numValidResponses < 1 && pendingResponders.size() > 0;
- }
-
- }
-
private List<Response> doRemoteCall(ClusteredGetCommand clusteredGetCommand) throws CacheLoaderException {
- ResponseValidityFilter filter = new ResponseValidityFilter(rpcManager.getTransport().getMembers(), rpcManager.getLocalAddress());
+ ResponseFilter filter = new ClusteredGetResponseValidityFilter(rpcManager.getTransport().getMembers(), rpcManager.getLocalAddress());
try {
return rpcManager.invokeRemotely(null, clusteredGetCommand, ResponseMode.WAIT_FOR_VALID_RESPONSE, config.getRemoteCallTimeout(), false, filter, false);
} catch (Exception e) {
Added: trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java (rev 0)
+++ trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java 2009-04-24 16:06:56 UTC (rev 168)
@@ -0,0 +1,40 @@
+package org.infinispan.remoting.responses;
+
+import org.infinispan.remoting.ResponseFilter;
+import org.infinispan.remoting.transport.Address;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A filter that tests the validity of {@link org.infinispan.commands.remote.ClusteredGetCommand}s.
+ *
+ * @author Manik Surtani
+ * @since 4.0
+ */
+public class ClusteredGetResponseValidityFilter implements ResponseFilter {
+
+ private int numValidResponses = 0;
+
+ private List<Address> pendingResponders;
+
+ public ClusteredGetResponseValidityFilter(List<Address> expected, Address localAddress) {
+ this.pendingResponders = new ArrayList<Address>(expected);
+ // We'll never get a response from ourself
+ this.pendingResponders.remove(localAddress);
+ }
+
+ public boolean isAcceptable(Response response, Address address) {
+ pendingResponders.remove(address);
+
+ if (response instanceof SuccessfulResponse) numValidResponses++;
+
+ // always return true to make sure a response is logged by the JGroups RpcDispatcher.
+ return true;
+ }
+
+ public boolean needMoreResponses() {
+ return numValidResponses < 1 && pendingResponders.size() > 0;
+ }
+
+}
Property changes on: trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
More information about the infinispan-commits
mailing list