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, DefaultBroadcaster.WriteQueue
 
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, initialized, lifeCycleListeners, messages, name, notifierFuture, POLLING_DEFAULT, resources, scope, started, uniqueWriteQueue, uri, waitTime, writeQueues, writeTimeoutInSecond
 
Fields inherited from interface org.atmosphere.cpr.Broadcaster
ROOT_MASTER
 
Constructor Summary
AbstractBroadcasterProxy()
           
 
Method Summary
protected  Future<Object> b(Object msg)
           
 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.
 Broadcaster initialize(String id, URI uri, AtmosphereConfig config)
          Configure a Broadcaster.
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, broadcasterListeners, broadcastOnResume, broadcastOnResume, cacheAndSuspend, cacheLostMessage, cacheLostMessage, cacheLostMessage, cacheLostMessage, checkCachedAndPush, createBroadcasterConfig, delayBroadcast, delayBroadcast, deliverPush, destroy, dispatchMessages, entryDone, executeAsyncWrite, executeBlockingWrite, filter, futureDone, getAsyncWriteHandler, getAtmosphereResources, getBroadcasterConfig, getID, getScope, initialize, isDestroyed, killReactiveThreads, lifeCycleListeners, lifeCyclePolicy, messages, notifyAndAdd, notifyBroadcastListener, notifyDestroyListener, notifyEmptyListener, notifyIdleListener, notifyOnAddAtmosphereResourceListener, notifyOnMessage, notifyOnRemoveAtmosphereResourceListener, onException, onException, outOfOrderBroadcastSupported, perRequestFilter, policy, prepareInvokeOnStateChange, push, queueWriteIO, reactiveThreadsCount, releaseExternalResources, removeAtmosphereResource, removeAtmosphereResource, removeBroadcasterLifeCyclePolicyListener, removeBroadcasterListener, resumeAll, retrieveTrackedBroadcast, scheduleFixedBroadcast, scheduleFixedBroadcast, setBroadcasterConfig, setBroadcasterLifeCyclePolicy, setID, setScope, setSuspendPolicy, spawnReactor, start, toString, writeQueues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractBroadcasterProxy

public AbstractBroadcasterProxy()
Method Detail

initialize

public Broadcaster initialize(String id,
                              URI uri,
                              AtmosphereConfig config)
Description copied from interface: Broadcaster
Configure a Broadcaster.

Specified by:
initialize in interface Broadcaster
Overrides:
initialize in class DefaultBroadcaster
config - an AtmosphereConfig
Returns:
a usable Broadcaster.

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()

b

protected Future<Object> b(Object msg)

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 © 2014. All Rights Reserved.