You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/06/07 11:17:23 UTC
svn commit: r545118 - in /mina/trunk/core/src:
main/java/org/apache/mina/common/ main/java/org/apache/mina/common/support/
test/java/org/apache/mina/filter/
Author: trustin
Date: Thu Jun 7 02:17:21 2007
New Revision: 545118
URL: http://svn.apache.org/viewvc?view=rev&rev=545118
Log:
Related issue: DIRMINA-380 (Invocation chaining for IoFuture)
* Applied invocation chanining to IoFuture and its subtypes
Modified:
mina/trunk/core/src/main/java/org/apache/mina/common/CloseFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/ConnectFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java
mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/WriteFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultCloseFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultConnectFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java
mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultWriteFuture.java
mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/CloseFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/CloseFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/CloseFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/CloseFuture.java Thu Jun 7 02:17:21 2007
@@ -48,4 +48,9 @@
* this method directly.
*/
void setClosed();
+
+ CloseFuture await() throws InterruptedException;
+ CloseFuture awaitUninterruptibly();
+ CloseFuture addListener( IoFutureListener listener );
+ CloseFuture removeListener( IoFutureListener listener );
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/ConnectFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/ConnectFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/ConnectFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/ConnectFuture.java Thu Jun 7 02:17:21 2007
@@ -70,4 +70,9 @@
* internally. Please do not call this method directly.
*/
void setException( Throwable exception );
+
+ ConnectFuture await() throws InterruptedException;
+ ConnectFuture awaitUninterruptibly();
+ ConnectFuture addListener( IoFutureListener listener );
+ ConnectFuture removeListener( IoFutureListener listener );
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/DefaultWriteRequest.java Thu Jun 7 02:17:21 2007
@@ -60,17 +60,18 @@
return true;
}
- public void addListener( IoFutureListener listener )
+ public WriteFuture addListener( IoFutureListener listener )
{
throw new IllegalStateException( "You can't add a listener to a dummy future." );
}
- public void removeListener( IoFutureListener listener )
+ public WriteFuture removeListener( IoFutureListener listener )
{
throw new IllegalStateException( "You can't add a listener to a dummy future." );
}
- public void await() throws InterruptedException {
+ public WriteFuture await() throws InterruptedException {
+ return this;
}
public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
@@ -81,7 +82,8 @@
return true;
}
- public void awaitUninterruptibly() {
+ public WriteFuture awaitUninterruptibly() {
+ return this;
}
public boolean awaitUninterruptibly(long timeout, TimeUnit unit) {
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/IoFuture.java Thu Jun 7 02:17:21 2007
@@ -38,7 +38,7 @@
/**
* Wait for the asynchronous operation to end.
*/
- void await() throws InterruptedException;
+ IoFuture await() throws InterruptedException;
/**
* Wait for the asynchronous operation to end with the specified timeout.
@@ -57,7 +57,7 @@
/**
* Wait for the asynchronous operation to end uninterruptibly.
*/
- void awaitUninterruptibly();
+ IoFuture awaitUninterruptibly();
/**
* Wait for the asynchronous operation to end with the specified timeout
@@ -96,11 +96,11 @@
* Adds an event <tt>listener</tt> which is notified when
* the state of this future changes.
*/
- void addListener( IoFutureListener listener );
+ IoFuture addListener( IoFutureListener listener );
/**
* Removes an existing event <tt>listener</tt> which is notified when
* the state of this future changes.
*/
- void removeListener( IoFutureListener listener );
+ IoFuture removeListener( IoFutureListener listener );
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/WriteFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/WriteFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/WriteFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/WriteFuture.java Thu Jun 7 02:17:21 2007
@@ -55,4 +55,9 @@
* Please do not call this method directly.
*/
void setWritten( boolean written );
+
+ WriteFuture await() throws InterruptedException;
+ WriteFuture awaitUninterruptibly();
+ WriteFuture addListener( IoFutureListener listener );
+ WriteFuture removeListener( IoFutureListener listener );
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultCloseFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultCloseFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultCloseFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultCloseFuture.java Thu Jun 7 02:17:21 2007
@@ -20,6 +20,7 @@
package org.apache.mina.common.support;
import org.apache.mina.common.CloseFuture;
+import org.apache.mina.common.IoFutureListener;
import org.apache.mina.common.IoSession;
/**
@@ -53,5 +54,25 @@
public void setClosed()
{
setValue( Boolean.TRUE );
+ }
+
+ @Override
+ public CloseFuture await() throws InterruptedException {
+ return (CloseFuture) super.await();
+ }
+
+ @Override
+ public CloseFuture awaitUninterruptibly() {
+ return (CloseFuture) super.awaitUninterruptibly();
+ }
+
+ @Override
+ public CloseFuture addListener(IoFutureListener listener) {
+ return (CloseFuture) super.addListener(listener);
+ }
+
+ @Override
+ public CloseFuture removeListener(IoFutureListener listener) {
+ return (CloseFuture) super.removeListener(listener);
}
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultConnectFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultConnectFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultConnectFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultConnectFuture.java Thu Jun 7 02:17:21 2007
@@ -20,6 +20,7 @@
package org.apache.mina.common.support;
import org.apache.mina.common.ConnectFuture;
+import org.apache.mina.common.IoFutureListener;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.RuntimeIOException;
@@ -93,5 +94,25 @@
public void setException( Throwable exception )
{
setValue( exception );
+ }
+
+ @Override
+ public ConnectFuture await() throws InterruptedException {
+ return (ConnectFuture) super.await();
+ }
+
+ @Override
+ public ConnectFuture awaitUninterruptibly() {
+ return (ConnectFuture) super.awaitUninterruptibly();
+ }
+
+ @Override
+ public ConnectFuture addListener(IoFutureListener listener) {
+ return (ConnectFuture) super.addListener(listener);
+ }
+
+ @Override
+ public ConnectFuture removeListener(IoFutureListener listener) {
+ return (ConnectFuture) super.removeListener(listener);
}
}
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultIoFuture.java Thu Jun 7 02:17:21 2007
@@ -65,7 +65,7 @@
return awaitUninterruptibly(timeoutMillis);
}
- public void await() throws InterruptedException {
+ public IoFuture await() throws InterruptedException {
synchronized( lock )
{
while( !ready )
@@ -73,6 +73,7 @@
lock.wait();
}
}
+ return this;
}
public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
@@ -90,7 +91,7 @@
}
}
- public void awaitUninterruptibly()
+ public IoFuture awaitUninterruptibly()
{
synchronized( lock )
{
@@ -105,6 +106,8 @@
}
}
}
+
+ return this;
}
public boolean awaitUninterruptibly( long timeout, TimeUnit unit) {
@@ -192,7 +195,7 @@
}
}
- public void addListener( IoFutureListener listener )
+ public IoFuture addListener( IoFutureListener listener )
{
if( listener == null )
{
@@ -207,9 +210,11 @@
listener.operationComplete( this );
}
}
+
+ return this;
}
- public void removeListener( IoFutureListener listener )
+ public IoFuture removeListener( IoFutureListener listener )
{
if( listener == null )
{
@@ -220,6 +225,8 @@
{
listeners.remove( listener );
}
+
+ return this;
}
private void notifyListeners()
Modified: mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultWriteFuture.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultWriteFuture.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultWriteFuture.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/support/DefaultWriteFuture.java Thu Jun 7 02:17:21 2007
@@ -19,6 +19,7 @@
*/
package org.apache.mina.common.support;
+import org.apache.mina.common.IoFutureListener;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.WriteFuture;
@@ -73,5 +74,25 @@
public void setWritten( boolean written )
{
setValue( written? Boolean.TRUE : Boolean.FALSE );
+ }
+
+ @Override
+ public WriteFuture await() throws InterruptedException {
+ return (WriteFuture) super.await();
+ }
+
+ @Override
+ public WriteFuture awaitUninterruptibly() {
+ return (WriteFuture) super.awaitUninterruptibly();
+ }
+
+ @Override
+ public WriteFuture addListener(IoFutureListener listener) {
+ return (WriteFuture) super.addListener(listener);
+ }
+
+ @Override
+ public WriteFuture removeListener(IoFutureListener listener) {
+ return (WriteFuture) super.removeListener(listener);
}
}
Modified: mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java?view=diff&rev=545118&r1=545117&r2=545118
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/filter/StreamWriteFilterTest.java Thu Jun 7 02:17:21 2007
@@ -640,16 +640,18 @@
return true;
}
- public void addListener( IoFutureListener listener )
+ public WriteFuture addListener( IoFutureListener listener )
{
+ return this;
}
- public void removeListener( IoFutureListener listener )
+ public WriteFuture removeListener( IoFutureListener listener )
{
+ return this;
}
- public void await() throws InterruptedException {
-
+ public WriteFuture await() throws InterruptedException {
+ return this;
}
public boolean await(long timeout, TimeUnit unit) throws InterruptedException {
@@ -660,7 +662,8 @@
return true;
}
- public void awaitUninterruptibly() {
+ public WriteFuture awaitUninterruptibly() {
+ return this;
}
public boolean awaitUninterruptibly(long timeout, TimeUnit unit) {