org.atmosphere.cpr
Class AtmosphereSession

java.lang.Object
  extended by org.atmosphere.cpr.AtmosphereSession

public class AtmosphereSession
extends Object

An AtmosphereSession allow an application to keep track of the AtmosphereResource associated with a remote client. For example, with the long-polling transport, a new AtmosphereResource will be created every time a reconnect occurs. If an application has a reference to the AtmosphereResource, the object will become out of scope, or unusable, after the reconnection. To fix this problem, you can use this class to track and invoke tryAcquire() ()} or acquire()} in order to get the AtmosphereResource.

AtmosphereResource are tracked using the list of associated Broadcaster, e.g you must make sure the AtmosphereResource has called Broadcaster.addAtmosphereResource(AtmosphereResource) once if you want this class to work.

Author:
Jeanfrancois Arcand

Constructor Summary
AtmosphereSession(AtmosphereResource resource)
          Track the current AtmosphereResource with all created Broadcaster
AtmosphereSession(AtmosphereResource r, Broadcaster... broadcasters)
           
 
Method Summary
 AtmosphereResource acquire()
          Retrieve the AtmosphereResource associated with this session.
 AtmosphereResource tryAcquire()
          Retrieve the AtmosphereResource associated with this session.
 AtmosphereResource tryAcquire(int timeInSecond)
          Retrieve the AtmosphereResource associated with this session.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AtmosphereSession

public AtmosphereSession(AtmosphereResource r,
                         Broadcaster... broadcasters)

AtmosphereSession

public AtmosphereSession(AtmosphereResource resource)
Track the current AtmosphereResource with all created Broadcaster

Parameters:
resource - an AtmosphereResource
Method Detail

acquire

public AtmosphereResource acquire()
Retrieve the AtmosphereResource associated with this session. If there is no AtmosphereResource associated, return null.

Returns:
an AtmosphereResource

tryAcquire

public AtmosphereResource tryAcquire()
                              throws InterruptedException
Retrieve the AtmosphereResource associated with this session. If there is no AtmosphereResource associated, wait until the AtmosphereResource is retrieved. This method will wait 60 seconds and then return.

Returns:
an AtmosphereResource
Throws:
InterruptedException

tryAcquire

public AtmosphereResource tryAcquire(int timeInSecond)
                              throws InterruptedException
Retrieve the AtmosphereResource associated with this session. If there is no AtmosphereResource associated, wait until the AtmosphereResource is retrieved.

Parameters:
timeInSecond - The timeToWait before continuing the execution
Returns:
an AtmosphereResource
Throws:
InterruptedException


Copyright © 2014. All Rights Reserved.