You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by mw...@apache.org on 2007/11/25 15:10:39 UTC

svn commit: r597989 - /mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java

Author: mwebb
Date: Sun Nov 25 06:10:38 2007
New Revision: 597989

URL: http://svn.apache.org/viewvc?rev=597989&view=rev
Log:
changed the data structure that is used to store the addresses that are to be blacklisted.  Using a thread-safe structure will prevent data corruption problems.  CopyOnWriteArrayList makes sense in that the majority of the time the list will be accessed and not changed which fits well with the design of the CopyOnWriteArrayList.

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java?rev=597989&r1=597988&r2=597989&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/firewall/BlacklistFilter.java Sun Nov 25 06:10:38 2007
@@ -22,8 +22,8 @@
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.apache.mina.common.IdleStatus;
 import org.apache.mina.common.IoFilter;
@@ -40,7 +40,7 @@
  * @version $Rev$, $Date$
  */
 public class BlacklistFilter extends IoFilterAdapter {
-    private final Set<InetAddress> blacklist = new HashSet<InetAddress>();
+    private final List<InetAddress> blacklist = new CopyOnWriteArrayList<InetAddress>();
 
     /**
      * Sets the addresses to be blacklisted.
@@ -85,7 +85,7 @@
     /**
      * Blocks the specified endpoint.
      */
-    public synchronized void block(InetAddress address, String error_string) {
+    public void block(InetAddress address, String error_string) {
         if (address == null) {
             throw new NullPointerException(error_string);
         }
@@ -95,14 +95,14 @@
     /**
      * Blocks the specified endpoint.
      */
-    public synchronized void block(InetAddress address) {
+    public void block(InetAddress address) {
         block(address, "address");
     }
 
     /**
      * Unblocks the specified endpoint.
      */
-    public synchronized void unblock(InetAddress address) {
+    public void unblock(InetAddress address) {
         if (address == null) {
             throw new NullPointerException("address");
         }