org.apache.geronimo.gshell.whisper.request
Class RequestResponseFilter

java.lang.Object
  extended by org.apache.mina.common.IoFilterAdapter
      extended by org.apache.geronimo.gshell.whisper.request.RequestResponseFilter
All Implemented Interfaces:
org.apache.mina.common.IoFilter

public class RequestResponseFilter
extends org.apache.mina.common.IoFilterAdapter

Provides synchronous request/response messaging.

Version:
$Rev: 580691 $ $Date: 2007-09-30 03:36:37 -0700 (Sun, 30 Sep 2007) $

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.mina.common.IoFilter
org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoFilter.WriteRequest
 
Constructor Summary
RequestResponseFilter()
           
 
Method Summary
 void filterWrite(org.apache.mina.common.IoFilter.NextFilter nextFilter, org.apache.mina.common.IoSession session, org.apache.mina.common.IoFilter.WriteRequest writeRequest)
          When a request is sent, register it with the request manager.
 void messageReceived(org.apache.mina.common.IoFilter.NextFilter nextFilter, org.apache.mina.common.IoSession session, Object message)
          When a response message has been received, deregister it and signal the response.
 void messageSent(org.apache.mina.common.IoFilter.NextFilter nextFilter, org.apache.mina.common.IoSession session, Object message)
          Once the reqeust message has been sent then activate it.
 void sessionClosed(org.apache.mina.common.IoFilter.NextFilter nextFilter, org.apache.mina.common.IoSession session)
          Close the request manager instance for the session.
 void sessionCreated(org.apache.mina.common.IoFilter.NextFilter nextFilter, org.apache.mina.common.IoSession session)
          Set up the request manager instance for the session.
 
Methods inherited from class org.apache.mina.common.IoFilterAdapter
destroy, exceptionCaught, filterClose, init, onPostAdd, onPostRemove, onPreAdd, onPreRemove, sessionIdle, sessionOpened
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RequestResponseFilter

public RequestResponseFilter()
Method Detail

sessionCreated

public void sessionCreated(org.apache.mina.common.IoFilter.NextFilter nextFilter,
                           org.apache.mina.common.IoSession session)
                    throws Exception
Set up the request manager instance for the session.

Specified by:
sessionCreated in interface org.apache.mina.common.IoFilter
Overrides:
sessionCreated in class org.apache.mina.common.IoFilterAdapter
Throws:
Exception

sessionClosed

public void sessionClosed(org.apache.mina.common.IoFilter.NextFilter nextFilter,
                          org.apache.mina.common.IoSession session)
                   throws Exception
Close the request manager instance for the session.

Specified by:
sessionClosed in interface org.apache.mina.common.IoFilter
Overrides:
sessionClosed in class org.apache.mina.common.IoFilterAdapter
Throws:
Exception

filterWrite

public void filterWrite(org.apache.mina.common.IoFilter.NextFilter nextFilter,
                        org.apache.mina.common.IoSession session,
                        org.apache.mina.common.IoFilter.WriteRequest writeRequest)
                 throws Exception
When a request is sent, register it with the request manager.

Specified by:
filterWrite in interface org.apache.mina.common.IoFilter
Overrides:
filterWrite in class org.apache.mina.common.IoFilterAdapter
Throws:
Exception

messageReceived

public void messageReceived(org.apache.mina.common.IoFilter.NextFilter nextFilter,
                            org.apache.mina.common.IoSession session,
                            Object message)
                     throws Exception
When a response message has been received, deregister it and signal the response.

Specified by:
messageReceived in interface org.apache.mina.common.IoFilter
Overrides:
messageReceived in class org.apache.mina.common.IoFilterAdapter
Throws:
Exception

messageSent

public void messageSent(org.apache.mina.common.IoFilter.NextFilter nextFilter,
                        org.apache.mina.common.IoSession session,
                        Object message)
                 throws Exception
Once the reqeust message has been sent then activate it. Some times a message gets consumed before we get a chance to activate it, which is okay, the RequestManager will simply ignore the request.

Specified by:
messageSent in interface org.apache.mina.common.IoFilter
Overrides:
messageSent in class org.apache.mina.common.IoFilterAdapter
Throws:
Exception


Copyright © 2003-2007 Apache Software Foundation. All Rights Reserved.