org.atmosphere.util
Class SimpleBroadcaster

java.lang.Object
  extended by org.atmosphere.cpr.DefaultBroadcaster
      extended by org.atmosphere.util.SimpleBroadcaster
All Implemented Interfaces:
Broadcaster, Trackable

public class SimpleBroadcaster
extends DefaultBroadcaster

Simple Broadcaster implementation that use the calling thread when broadcasting events.

Author:
Jeanfrancois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from class org.atmosphere.cpr.DefaultBroadcaster
DefaultBroadcaster.AsyncWriteToken, DefaultBroadcaster.Entry
 
Nested classes/interfaces inherited from interface org.atmosphere.cpr.Broadcaster
Broadcaster.POLICY, Broadcaster.SCOPE
 
Field Summary
 
Fields inherited from class org.atmosphere.cpr.DefaultBroadcaster
ASYNC_TOKEN, asyncWriteFuture, asyncWriteQueue, bc, broadcasterCache, broadcastOnResume, CACHED, cacheStrategy, config, delayedBroadcast, destroyed, lifeCycleListeners, messages, name, notifierFuture, resources, scope, started, uri
 
Constructor Summary
SimpleBroadcaster(String id, AtmosphereServlet.AtmosphereConfig config)
           
 
Method Summary
<T> Future<T>
broadcast(T msg)
          Broadcast the Object to all suspended response, e.g.
<T> Future<T>
broadcast(T msg, AtmosphereResource<?,?> r)
          Broadcast the Object to all suspended response, e.g.
<T> Future<T>
broadcast(T msg, Set<AtmosphereResource<?,?>> subset)
          Broadcast the Object to all suspended response, e.g.
protected  BroadcasterConfig createBroadcasterConfig(AtmosphereServlet.AtmosphereConfig config)
          Create BroadcasterConfig
protected  void queueWriteIO(AtmosphereResource<?,?> r, Object finalMsg, DefaultBroadcaster.Entry entry)
          
 void setBroadcasterConfig(BroadcasterConfig bc)
          Set the BroadcasterConfig instance.
protected  void start()
           
 
Methods inherited from class org.atmosphere.cpr.DefaultBroadcaster
addAtmosphereResource, addBroadcasterLifeCyclePolicyListener, awaitAndBroadcast, broadcast, broadcastOnResume, broadcastOnResume, cacheLostMessage, checkCachedAndPush, delayBroadcast, delayBroadcast, destroy, executeAsyncWrite, filter, getAsyncWriteHandler, getAtmosphereResources, getBroadcasterConfig, getBroadcastHandler, getID, getScope, isDestroyed, onException, perRequestFilter, push, releaseExternalResources, removeAtmosphereResource, removeBroadcasterLifeCyclePolicyListener, resumeAll, retrieveTrackedBroadcast, scheduleFixedBroadcast, scheduleFixedBroadcast, setBroadcasterLifeCyclePolicy, setID, setScope, setSuspendPolicy, toString, trackBroadcastMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SimpleBroadcaster

public SimpleBroadcaster(String id,
                         AtmosphereServlet.AtmosphereConfig config)
Method Detail

createBroadcasterConfig

protected BroadcasterConfig createBroadcasterConfig(AtmosphereServlet.AtmosphereConfig config)
Create BroadcasterConfig

Overrides:
createBroadcasterConfig in class DefaultBroadcaster
Parameters:
config - the AtmosphereServlet.AtmosphereConfig
Returns:
an instance of BroadcasterConfig

start

protected void start()
Overrides:
start in class DefaultBroadcaster

setBroadcasterConfig

public void setBroadcasterConfig(BroadcasterConfig bc)
Set the BroadcasterConfig instance.

Specified by:
setBroadcasterConfig in interface Broadcaster
Overrides:
setBroadcasterConfig in class DefaultBroadcaster
Parameters:
bc - Configuration to be set.

broadcast

public <T> Future<T> broadcast(T msg)
Broadcast the Object to all suspended response, e.g. invoke AtmosphereHandler.onStateChange(org.atmosphere.cpr.AtmosphereResourceEvent).

Specified by:
broadcast in interface Broadcaster
Overrides:
broadcast in class DefaultBroadcaster
Parameters:
msg - and Object to be broadcasted.
Returns:
a Future that can be used to synchronize using the Future.get()

broadcast

public <T> Future<T> broadcast(T msg,
                               AtmosphereResource<?,?> r)
Broadcast the Object to all suspended response, e.g. invoke AtmosphereHandler.onStateChange(org.atmosphere.cpr.AtmosphereResourceEvent) with an instance of AtmosphereResource, representing a single suspended response..

Specified by:
broadcast in interface Broadcaster
Overrides:
broadcast in class DefaultBroadcaster
Parameters:
msg - and Object to be broadcasted.
r - an AtmosphereResource
Returns:
a Future that can be used to synchronize using the Future.get()

broadcast

public <T> Future<T> broadcast(T msg,
                               Set<AtmosphereResource<?,?>> subset)
Broadcast the Object to all suspended response, e.g. invoke AtmosphereHandler.onStateChange(org.atmosphere.cpr.AtmosphereResourceEvent) with a Set of AtmosphereResource, representing a set of AtmosphereHandler.

Specified by:
broadcast in interface Broadcaster
Overrides:
broadcast in class DefaultBroadcaster
Parameters:
msg - and Object to be broadcasted.
subset - a Set of AtmosphereResource
Returns:
a Future that can be used to synchronize using the Future.get()

queueWriteIO

protected void queueWriteIO(AtmosphereResource<?,?> r,
                            Object finalMsg,
                            DefaultBroadcaster.Entry entry)
                     throws InterruptedException

Overrides:
queueWriteIO in class DefaultBroadcaster
Throws:
InterruptedException


Copyright © 2011. All Rights Reserved.