org.atmosphere.util
Class AbstractBroadcasterProxy

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

public abstract class AbstractBroadcasterProxy
extends DefaultBroadcaster

Abstract Broadcaster that delegates the internal processing to a proxy.

Author:
Jeanfrancois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from class org.atmosphere.cpr.DefaultBroadcaster
DefaultBroadcaster.AsyncWriteToken
 
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, bc, broadcasterListeners, broadcastOnResume, CACHED, config, delayedBroadcast, destroyed, dispatchThread, lifeCycleListeners, messages, name, noOpsResource, notifierFuture, resources, scope, started, uniqueWriteQueue, uri, waitTime, writeQueues, writeTimeoutInSecond
 
Constructor Summary
AbstractBroadcasterProxy(String id, URI uri, AtmosphereConfig config)
           
 
Method Summary
 Future<Object> broadcast(Object msg)
          Broadcast the Object to all suspended responses, eg.
 Future<Object> broadcast(Object msg, AtmosphereResource r)
          Broadcast the Object to all suspended responses, eg.
 Future<Object> broadcast(Object msg, Set<AtmosphereResource> subset)
          Broadcast the Object to all suspended response, eg.
protected  void broadcastReceivedMessage(Object message)
           
protected  Runnable getBroadcastHandler()
           
abstract  void incomingBroadcast()
          Implement this method to broadcast message received from an external source like JGroups, Redis, etc.
protected  void invokeOnStateChange(AtmosphereResource r, AtmosphereResourceEvent e)
           
abstract  void outgoingBroadcast(Object message)
          Implement this method to broadcast message to external source like JGroups, Redis, etc.
protected  void reconfigure()
           
 
Methods inherited from class org.atmosphere.cpr.DefaultBroadcaster
addAtmosphereResource, addBroadcasterLifeCyclePolicyListener, addBroadcasterListener, awaitAndBroadcast, broadcastOnResume, broadcastOnResume, cacheAndSuspend, cacheLostMessage, cacheLostMessage, cacheLostMessage, cacheLostMessage, checkCachedAndPush, createBroadcasterConfig, delayBroadcast, delayBroadcast, deliverPush, destroy, dispatchMessages, entryDone, executeAsyncWrite, filter, futureDone, getAsyncWriteHandler, getAtmosphereResources, getBroadcasterConfig, getID, getScope, isDestroyed, killReactiveThreads, notifyAndAdd, notifyBroadcastListener, notifyDestroyListener, notifyEmptyListener, notifyIdleListener, notifyOnAddAtmosphereResourceListener, notifyOnRemoveAtmosphereResourceListener, onException, onException, perRequestFilter, prepareInvokeOnStateChange, push, queueWriteIO, reactiveThreadsCount, releaseExternalResources, removeAtmosphereResource, removeAtmosphereResource, removeBroadcasterLifeCyclePolicyListener, removeBroadcasterListener, resumeAll, retrieveTrackedBroadcast, scheduleFixedBroadcast, scheduleFixedBroadcast, setBroadcasterConfig, setBroadcasterLifeCyclePolicy, setID, setScope, setSuspendPolicy, spawnReactor, start, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractBroadcasterProxy

public AbstractBroadcasterProxy(String id,
                                URI uri,
                                AtmosphereConfig config)
Method Detail

incomingBroadcast

public abstract void incomingBroadcast()
Implement this method to broadcast message received from an external source like JGroups, Redis, etc.


outgoingBroadcast

public abstract void outgoingBroadcast(Object message)
Implement this method to broadcast message to external source like JGroups, Redis, etc.

Parameters:
message - outgoing message

getBroadcastHandler

protected Runnable getBroadcastHandler()
Overrides:
getBroadcastHandler in class DefaultBroadcaster

reconfigure

protected void reconfigure()

invokeOnStateChange

protected void invokeOnStateChange(AtmosphereResource r,
                                   AtmosphereResourceEvent e)
Overrides:
invokeOnStateChange in class DefaultBroadcaster

broadcastReceivedMessage

protected void broadcastReceivedMessage(Object message)

broadcast

public Future<Object> broadcast(Object msg)
Description copied from interface: Broadcaster
Broadcast the Object to all suspended responses, eg. invoke AtmosphereHandler.onStateChange(org.atmosphere.cpr.AtmosphereResourceEvent).

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

broadcast

public Future<Object> broadcast(Object msg,
                                AtmosphereResource r)
Description copied from interface: Broadcaster
Broadcast the Object to all suspended responses, eg. 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 - the Object to be broadcasted
r - an AtmosphereResource
Returns:
a Future that can be used to synchronize using the Future.get()

broadcast

public Future<Object> broadcast(Object msg,
                                Set<AtmosphereResource> subset)
Description copied from interface: Broadcaster
Broadcast the Object to all suspended response, eg. 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 - the Object to be broadcasted
subset - a Set of AtmosphereResource
Returns:
a Future that can be used to synchronize using the Future.get()


Copyright © 2013. All Rights Reserved.