Author: manik.surtani(a)jboss.com
Date: 2009-02-12 10:48:57 -0500 (Thu, 12 Feb 2009)
New Revision: 7685
Removed:
core/trunk/src/main/java/org/jboss/cache/util/ThreadGate.java
Modified:
core/trunk/src/main/java/org/jboss/cache/util/concurrent/ReclosableLatch.java
Log:
removed obsolete class
Deleted: core/trunk/src/main/java/org/jboss/cache/util/ThreadGate.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/util/ThreadGate.java 2009-02-12 13:51:27 UTC
(rev 7684)
+++ core/trunk/src/main/java/org/jboss/cache/util/ThreadGate.java 2009-02-12 15:48:57 UTC
(rev 7685)
@@ -1,119 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2000 - 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
- */
-package org.jboss.cache.util;
-
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.locks.Condition;
-import java.util.concurrent.locks.ReentrantLock;
-
-/**
- * A reclosable gate with timeout support.
- *
- * @author Jason T. Greene
- */
-public class ThreadGate
-{
- private final ReentrantLock lock = new ReentrantLock();
- private final Condition condition = lock.newCondition();
-
- private boolean open;
- private int sequence;
-
- /**
- * Open the gate.
- */
- public void open()
- {
- lock.lock();
- try
- {
- open = true;
- sequence++;
- condition.signalAll();
- }
- finally
- {
- lock.unlock();
- }
- }
-
- /**
- * Close the gate.
- */
- public void close()
- {
- lock.lock();
- try
- {
- open = false;
- }
- finally
- {
- lock.unlock();
- }
- }
-
- /**
- * Waits for the gate to open.
- *
- * @throws InterruptedException if this thread is interrupted
- */
- public void await() throws InterruptedException
- {
- lock.lock();
- try
- {
- int snapshot = sequence;
- while (!open && snapshot == sequence)
- condition.await();
- }
- finally
- {
- lock.unlock();
- }
- }
-
- /**
- * Waits for the gate to open or the specified time to elapse.
- *
- * @param time the maximum time in milliseconds to wait.
- * @return false if gate timeout occurred
- * @throws InterruptedException if this thread is interrupted
- */
- public boolean await(long time) throws InterruptedException
- {
- lock.lock();
- try
- {
- int snapshot = sequence;
- boolean success = true;
- while (!open && snapshot == sequence && success)
- success = condition.await(time, TimeUnit.MILLISECONDS);
-
- return success;
- }
- finally
- {
- lock.unlock();
- }
- }
-}
\ No newline at end of file
Modified: core/trunk/src/main/java/org/jboss/cache/util/concurrent/ReclosableLatch.java
===================================================================
---
core/trunk/src/main/java/org/jboss/cache/util/concurrent/ReclosableLatch.java 2009-02-12
13:51:27 UTC (rev 7684)
+++
core/trunk/src/main/java/org/jboss/cache/util/concurrent/ReclosableLatch.java 2009-02-12
15:48:57 UTC (rev 7685)
@@ -25,10 +25,12 @@
import java.util.concurrent.locks.AbstractQueuedSynchronizer;
/**
- * A better impl of {@link org.jboss.cache.util.ThreadGate}, that uses an {@link
java.util.concurrent.locks.AbstractQueuedSynchronizer}.
+ * This latch allows you to set a default state (open or closed), and repeatedly open or
close
+ * the latch and have threads wait on it.
* <p/>
- * This implementation allows you to create a latch with a default state (open or
closed), and repeatedly open or close
- * the latch.
+ * This is a better impl of the old <tt>org.jboss.cache.util.ThreadGate</tt>
(which doesn't exist anymore), that uses an
+ * {@link java.util.concurrent.locks.AbstractQueuedSynchronizer} while ThreadGate used to
use explicit {@link java.util.concurrent.locks.Lock}
+ * objects.
*
* @author Manik Surtani (<a href="mailto:manik AT jboss DOT org">manik
AT jboss DOT org</a>)
* @since 3.0