org.atmosphere.container
Class BlockingIOCometSupport

java.lang.Object
  extended by org.atmosphere.cpr.AsynchronousProcessor
      extended by org.atmosphere.container.BlockingIOCometSupport
All Implemented Interfaces:
AsyncSupport<AtmosphereResourceImpl>

public class BlockingIOCometSupport
extends AsynchronousProcessor

This class gets used when the AtmosphereFramework fails to autodetect the Servlet Container we are running on.

This AsyncSupport implementation uses a blocking approach, meaning the request thread will be blocked until another Thread invoke the Broadcaster.broadcast(T)

Author:
Jeanfrancois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from class org.atmosphere.cpr.AsynchronousProcessor
AsynchronousProcessor.AsynchronousProcessorHook
 
Field Summary
protected static String LATCH
           
 
Fields inherited from class org.atmosphere.cpr.AsynchronousProcessor
aliveRequests, cancelledAction, config, timedoutAction
 
Constructor Summary
BlockingIOCometSupport(AtmosphereConfig config)
           
 
Method Summary
 void action(AtmosphereResourceImpl r)
          Process an Action from an ActionEvent operation like suspend, resume or timed out.
 Action cancelled(AtmosphereRequest req, AtmosphereResponse res)
          All proprietary Comet based Servlet must invoke the cancelled method when the underlying WebServer detect that the client closed the connection.
 Action service(AtmosphereRequest req, AtmosphereResponse res)
          Serve the AtmosphereRequest and the AtmosphereResponse and return the appropriate Action.
protected  void suspend(Action action, AtmosphereRequest req, AtmosphereResponse res)
          Suspend the connection by blocking the current Thread
 
Methods inherited from class org.atmosphere.cpr.AsynchronousProcessor
destroyResource, getContainerName, init, map, map, resumed, shutdown, supportSession, supportWebSocket, suspended, timedout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LATCH

protected static final String LATCH
Constructor Detail

BlockingIOCometSupport

public BlockingIOCometSupport(AtmosphereConfig config)
Method Detail

service

public Action service(AtmosphereRequest req,
                      AtmosphereResponse res)
               throws IOException,
                      javax.servlet.ServletException
Serve the AtmosphereRequest and the AtmosphereResponse and return the appropriate Action.

Parameters:
req - the AtmosphereRequest
res - the AtmosphereResponse
Returns:
the Action that was manipulated by the AtmosphereHandler
Throws:
IOException
javax.servlet.ServletException

suspend

protected void suspend(Action action,
                       AtmosphereRequest req,
                       AtmosphereResponse res)
                throws IOException,
                       javax.servlet.ServletException
Suspend the connection by blocking the current Thread

Parameters:
action - The Action
req - the AtmosphereRequest
res - the AtmosphereResponse
Throws:
IOException
javax.servlet.ServletException

cancelled

public Action cancelled(AtmosphereRequest req,
                        AtmosphereResponse res)
                 throws IOException,
                        javax.servlet.ServletException
Description copied from class: AsynchronousProcessor
All proprietary Comet based Servlet must invoke the cancelled method when the underlying WebServer detect that the client closed the connection.

Overrides:
cancelled in class AsynchronousProcessor
Parameters:
req - the AtmosphereRequest
res - the AtmosphereResponse
Returns:
action the Action operation.
Throws:
IOException
javax.servlet.ServletException

action

public void action(AtmosphereResourceImpl r)
Process an Action from an ActionEvent operation like suspend, resume or timed out.

Specified by:
action in interface AsyncSupport<AtmosphereResourceImpl>
Overrides:
action in class AsynchronousProcessor
Parameters:
r - An instance of Action


Copyright © 2012. All Rights Reserved.