public class DefaultMetaBroadcaster extends Object implements MetaBroadcaster
Broadcaster
s based on their Broadcaster.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:
MetaBroadcaster.MetaBroadcasterCache, MetaBroadcaster.NoCache, MetaBroadcaster.ThirtySecondsCache
Modifier and Type | Field and Description |
---|---|
static String |
MAPPING_REGEX |
Constructor and Description |
---|
DefaultMetaBroadcaster() |
Modifier and Type | Method and Description |
---|---|
MetaBroadcaster |
addBroadcasterListener(BroadcasterListener b)
Add a
BroadcasterListener to all mapped Broadcaster s. |
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture |
broadcast(String path,
Object message,
int time,
TimeUnit unit,
boolean delay,
boolean cacheMessage) |
Future<List<Broadcaster>> |
broadcastTo(String broadcasterID,
Object message)
Broadcast the message to all Broadcasters whose
Broadcaster.getID() matches the broadcasterID value. |
Future<List<Broadcaster>> |
broadcastTo(String broadcasterID,
Object message,
boolean cacheMessage)
Broadcast the message to all Broadcasters whose
Broadcaster.getID() matches the broadcasterID value. |
MetaBroadcaster |
cache(MetaBroadcaster.MetaBroadcasterCache cache)
Set the
MetaBroadcaster.MetaBroadcasterCache . |
void |
configure(AtmosphereConfig config)
Configure an AtmosphereFramework object.
|
Future<List<Broadcaster>> |
delayTo(String broadcasterID,
Object message,
int time,
TimeUnit unit)
Delay the message delivery to Broadcasters whose
Broadcaster.getID()
matches the broadcasterID value. |
void |
destroy() |
protected MetaBroadcaster |
flushCache()
Flush the cached messages.
|
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture |
map(String path,
Object message,
int time,
TimeUnit unit,
boolean delay,
boolean cacheMessage) |
MetaBroadcaster |
removeBroadcasterListener(BroadcasterListener b)
Remove the
BroadcasterListener . |
Future<List<Broadcaster>> |
scheduleTo(String broadcasterID,
Object message,
int time,
TimeUnit unit)
Broadcast the message at a fixed rate to all Broadcasters whose
Broadcaster.getID()
matches the broadcasterID value. |
public static final String MAPPING_REGEX
public void configure(AtmosphereConfig config)
AtmosphereConfigAware
configure
in interface AtmosphereConfigAware
config
- AtmosphereConfig
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture broadcast(String path, Object message, int time, TimeUnit unit, boolean delay, boolean cacheMessage)
protected org.atmosphere.cpr.DefaultMetaBroadcaster.MetaBroadcasterFuture map(String path, Object message, int time, TimeUnit unit, boolean delay, boolean cacheMessage)
public Future<List<Broadcaster>> broadcastTo(String broadcasterID, Object message)
MetaBroadcaster
Broadcaster.getID()
matches the broadcasterID value.broadcastTo
in interface MetaBroadcaster
broadcasterID
- a String (or path) that can potentially match a Broadcaster.getID()
message
- a message to be broadcastedpublic Future<List<Broadcaster>> broadcastTo(String broadcasterID, Object message, boolean cacheMessage)
MetaBroadcaster
Broadcaster.getID()
matches the broadcasterID value.broadcastTo
in interface MetaBroadcaster
broadcasterID
- a String (or path) that can potentially match a Broadcaster.getID()
message
- a message to be broadcastedcacheMessage
- allow the cache to be cached or not.protected MetaBroadcaster flushCache()
public Future<List<Broadcaster>> scheduleTo(String broadcasterID, Object message, int time, TimeUnit unit)
MetaBroadcaster
Broadcaster.getID()
matches the broadcasterID value. This operation will invoke Broadcaster.scheduleFixedBroadcast(Object, long, java.util.concurrent.TimeUnit)
}scheduleTo
in interface MetaBroadcaster
broadcasterID
- a String (or path) that can potentially match a Broadcaster.getID()
message
- a message to be broadcastedtime
- a time valueunit
- a TimeUnit
public Future<List<Broadcaster>> delayTo(String broadcasterID, Object message, int time, TimeUnit unit)
MetaBroadcaster
Broadcaster.getID()
matches the broadcasterID value. This operation will invoke Broadcaster.delayBroadcast(Object, long, java.util.concurrent.TimeUnit)
(Object, long, java.util.concurrent.TimeUnit)}}delayTo
in interface MetaBroadcaster
broadcasterID
- a String (or path) that can potentially match a Broadcaster.getID()
message
- a message to be broadcastedtime
- a time valueunit
- a TimeUnit
public MetaBroadcaster addBroadcasterListener(BroadcasterListener b)
MetaBroadcaster
BroadcasterListener
to all mapped Broadcaster
s.addBroadcasterListener
in interface MetaBroadcaster
b
- BroadcasterListener
public MetaBroadcaster removeBroadcasterListener(BroadcasterListener b)
MetaBroadcaster
BroadcasterListener
.removeBroadcasterListener
in interface MetaBroadcaster
b
- BroadcasterListener
public MetaBroadcaster cache(MetaBroadcaster.MetaBroadcasterCache cache)
MetaBroadcaster
MetaBroadcaster.MetaBroadcasterCache
. Default is MetaBroadcaster.NoCache
.cache
in interface MetaBroadcaster
public void destroy()
destroy
in interface MetaBroadcaster
Copyright © 2016. All rights reserved.