Package org.atmosphere.cpr
Interface MetaBroadcaster
-
- All Superinterfaces:
AtmosphereConfigAware
- All Known Implementing Classes:
DefaultMetaBroadcaster
public interface MetaBroadcaster extends AtmosphereConfigAware
Broadcast events to all or a subset of availableBroadcasters based on theirBroadcaster.getID()value. This class allows broadcasting events to a set of broadcasters that maps to some String like:
The rule used is similar to path/URI mapping used by technology like Servlet, Jersey, etc. NOTE: Broadcasters' name must start with / in order to get retrieved by this class. This class is NOT thread safe. If you want to use MetaBroadcaster with Jersey or any framework, make sure all// Broadcast the event to all Broadcaster ID starting with /hello broadcast("/hello", event) // Broadcast the event to all Broadcaster ID broaccast("/*", event);Broadcaster.getID()starts with '/'. For example, with Jersey:- Author:
- Jeanfrancois Arcand
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceMetaBroadcaster.MetaBroadcasterCacheCache message if noBroadcastermaps thebroadcastTo(String, Object)static classMetaBroadcaster.NoCachestatic classMetaBroadcaster.ThirtySecondsCacheFlush the cache every 30 seconds.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description MetaBroadcasteraddBroadcasterListener(BroadcasterListener b)Add aBroadcasterListenerto all mappedBroadcasters.java.util.concurrent.Future<java.util.List<Broadcaster>>broadcastTo(java.lang.String broadcasterID, java.lang.Object message)Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.java.util.concurrent.Future<java.util.List<Broadcaster>>broadcastTo(java.lang.String broadcasterID, java.lang.Object message, boolean cacheMessage)Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.MetaBroadcastercache(MetaBroadcaster.MetaBroadcasterCache cache)Set theMetaBroadcaster.MetaBroadcasterCache.java.util.concurrent.Future<java.util.List<Broadcaster>>delayTo(java.lang.String broadcasterID, java.lang.Object message, int time, java.util.concurrent.TimeUnit unit)Delay the message delivery to Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.voiddestroy()MetaBroadcasterremoveBroadcasterListener(BroadcasterListener b)Remove theBroadcasterListener.java.util.concurrent.Future<java.util.List<Broadcaster>>scheduleTo(java.lang.String broadcasterID, java.lang.Object message, int time, java.util.concurrent.TimeUnit unit)Broadcast the message at a fixed rate to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.-
Methods inherited from interface org.atmosphere.inject.AtmosphereConfigAware
configure
-
-
-
-
Method Detail
-
broadcastTo
java.util.concurrent.Future<java.util.List<Broadcaster>> broadcastTo(java.lang.String broadcasterID, java.lang.Object message)
Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcasted- Returns:
- a Future
-
broadcastTo
java.util.concurrent.Future<java.util.List<Broadcaster>> broadcastTo(java.lang.String broadcasterID, java.lang.Object message, boolean cacheMessage)
Broadcast the message to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value.- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcastedcacheMessage- allow the cache to be cached or not.- Returns:
- a Future
-
scheduleTo
java.util.concurrent.Future<java.util.List<Broadcaster>> scheduleTo(java.lang.String broadcasterID, java.lang.Object message, int time, java.util.concurrent.TimeUnit unit)
Broadcast the message at a fixed rate to all Broadcasters whoseBroadcaster.getID()matches the broadcasterID value. This operation will invokeBroadcaster.scheduleFixedBroadcast(Object, long, java.util.concurrent.TimeUnit)}- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcastedtime- a time valueunit- aTimeUnit- Returns:
- a Future
-
delayTo
java.util.concurrent.Future<java.util.List<Broadcaster>> delayTo(java.lang.String broadcasterID, java.lang.Object message, int time, java.util.concurrent.TimeUnit unit)
Delay the message delivery to Broadcasters whoseBroadcaster.getID()matches the broadcasterID value. This operation will invokeBroadcaster.delayBroadcast(Object, long, java.util.concurrent.TimeUnit)(Object, long, java.util.concurrent.TimeUnit)}}- Parameters:
broadcasterID- a String (or path) that can potentially match aBroadcaster.getID()message- a message to be broadcastedtime- a time valueunit- aTimeUnit- Returns:
- a Future
-
addBroadcasterListener
MetaBroadcaster addBroadcasterListener(BroadcasterListener b)
Add aBroadcasterListenerto all mappedBroadcasters.- Parameters:
b-BroadcasterListener- Returns:
- this
-
removeBroadcasterListener
MetaBroadcaster removeBroadcasterListener(BroadcasterListener b)
Remove theBroadcasterListener.- Parameters:
b-BroadcasterListener- Returns:
- this
-
cache
MetaBroadcaster cache(MetaBroadcaster.MetaBroadcasterCache cache)
Set theMetaBroadcaster.MetaBroadcasterCache. Default isMetaBroadcaster.NoCache.- Parameters:
cache-- Returns:
- this
-
destroy
void destroy()
-
-