Author: norman Date: Thu Sep 22 18:34:18 2011 New Revision: 1174304 URL: http://svn.apache.org/viewvc?rev=1174304&view=rev Log: Correctly handle FutureResponse
Modified: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java Modified: james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java URL: http://svn.apache.org/viewvc/james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java?rev=1174304&r1=1174303&r2=1174304&view=diff ============================================================================== --- james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java (original) +++ james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractSession.java Thu Sep 22 18:34:18 2011 @@ -22,6 +22,7 @@ package org.apache.james.protocols.api; import java.net.InetSocketAddress; +import org.apache.james.protocols.api.FutureResponse.ResponseListener; import org.apache.james.protocols.api.ProtocolTransport; import org.apache.james.protocols.api.Response; import org.slf4j.Logger; @@ -116,7 +117,16 @@ public abstract class AbstractSession im * @see org.apache.james.api.protocol.ProtocolSession#writeResponse(org.apache.james.api.protocol.Response) */ public void writeResponse(final Response response) { - transport.writeResponse(response, this); + if (response instanceof FutureResponse) { + ((FutureResponse) response).addListener(new ResponseListener() { + + public void onResponse(Response response) { + transport.writeResponse(response, AbstractSession.this); + } + }); + } else { + transport.writeResponse(response, this); + } } /* --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org