|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.atmosphere.cache.UUIDBroadcasterCache
public class UUIDBroadcasterCache
An improved BroadcasterCache implementation that is based on the unique identifier (UUID) that all
AtmosphereResources have.
| Nested Class Summary | |
|---|---|
static class |
UUIDBroadcasterCache.ClientQueue
This class wraps all messages to be delivered to a client. |
| Field Summary | |
|---|---|
protected List<Object> |
emptyList
|
protected List<BroadcasterCacheInspector> |
inspectors
|
protected List<BroadcasterCacheListener> |
listeners
|
protected ScheduledExecutorService |
taskScheduler
|
| Fields inherited from interface org.atmosphere.cpr.BroadcasterCache |
|---|
DEFAULT, NULL |
| Constructor Summary | |
|---|---|
UUIDBroadcasterCache()
|
|
| Method Summary | |
|---|---|
Map<String,Long> |
activeClients()
|
BroadcasterCache |
addBroadcasterCacheListener(BroadcasterCacheListener l)
Add a BroadcasterCacheListener |
CacheMessage |
addToCache(String broadcasterId,
String uuid,
BroadcastMessage message)
Start tracking messages associated with AtmosphereResource from the cache. |
BroadcasterCache |
cacheCandidate(String broadcasterId,
String uuid)
Add a AtmosphereResource.uuid() to the list of active AtmosphereResource
Message will be cached for the resource associated with the uuid. |
void |
cleanup()
Clean resources associated with this instance. |
BroadcasterCache |
clearCache(String broadcasterId,
String uuid,
CacheMessage message)
Remove the previously cached message. |
void |
configure(BroadcasterConfig config)
Configure the cache. |
BroadcasterCache |
excludeFromCache(String broadcasterId,
AtmosphereResource r)
Allow an application to exclude, or block, an AtmosphereResource to received cached message. |
protected boolean |
inspect(BroadcastMessage m)
|
BroadcasterCache |
inspector(BroadcasterCacheInspector b)
Add a BroadcasterCacheInspector that will be invoked before a message gets added to the cache. |
List<BroadcasterCacheInspector> |
inspectors()
|
protected void |
invalidateExpiredEntries()
|
List<BroadcasterCacheListener> |
listeners()
|
Map<String,UUIDBroadcasterCache.ClientQueue> |
messages()
|
BroadcasterCache |
removeBroadcasterCacheListener(BroadcasterCacheListener l)
Remove a BroadcasterCacheListener |
List<Object> |
retrieveFromCache(String broadcasterId,
String uuid)
Retrieve messages associated with AtmosphereResource. |
void |
setClientIdleTime(long clientIdleTime)
|
void |
setInvalidateCacheInterval(long invalidateCacheInterval)
|
void |
start()
This method is invoked when the Broadcaster is started. |
void |
stop()
This method is invoked when the Broadcaster is stopped. |
String |
toString()
|
protected String |
uuid(AtmosphereResource r)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final List<BroadcasterCacheInspector> inspectors
protected ScheduledExecutorService taskScheduler
protected final List<Object> emptyList
protected final List<BroadcasterCacheListener> listeners
| Constructor Detail |
|---|
public UUIDBroadcasterCache()
| Method Detail |
|---|
public void configure(BroadcasterConfig config)
BroadcasterCache
configure in interface BroadcasterCacheconfig - a BroadcasterConfigpublic void start()
BroadcasterCache
start in interface BroadcasterCachepublic void stop()
BroadcasterCache
stop in interface BroadcasterCachepublic void cleanup()
BroadcasterCacheBroadcaster gets destroyed.
cleanup in interface BroadcasterCache
public CacheMessage addToCache(String broadcasterId,
String uuid,
BroadcastMessage message)
BroadcasterCacheAtmosphereResource from the cache.
addToCache in interface BroadcasterCachebroadcasterId - The associated Broadcaster#addAtmosphereResource(AtmosphereResource).getIDuuid - AtmosphereResource.uuid()message - BroadcastMessage.
CacheMessage
public List<Object> retrieveFromCache(String broadcasterId,
String uuid)
BroadcasterCacheAtmosphereResource.
retrieveFromCache in interface BroadcasterCachebroadcasterId - The associated org.atmosphere.cpr.Broadcaster#addAtmosphereResource(org.atmosphere.cpr.AtmosphereResource).getIDuuid - AtmosphereResource
List of messages (String).
public BroadcasterCache clearCache(String broadcasterId,
String uuid,
CacheMessage message)
BroadcasterCache
clearCache in interface BroadcasterCachebroadcasterId - The Broadcaster.getID()uuid - an AtmosphereResource.uuid()message - the CacheMessagepublic BroadcasterCache inspector(BroadcasterCacheInspector b)
BroadcasterCacheBroadcasterCacheInspector that will be invoked before a message gets added to the cache.
inspector in interface BroadcasterCacheb - an instance of BroadcasterCacheInspector
public BroadcasterCache addBroadcasterCacheListener(BroadcasterCacheListener l)
BroadcasterCacheBroadcasterCacheListener
addBroadcasterCacheListener in interface BroadcasterCachel - a BroadcasterCacheListener
public BroadcasterCache removeBroadcasterCacheListener(BroadcasterCacheListener l)
BroadcasterCacheBroadcasterCacheListener
removeBroadcasterCacheListener in interface BroadcasterCachel - a BroadcasterCacheListener
protected String uuid(AtmosphereResource r)
public Map<String,UUIDBroadcasterCache.ClientQueue> messages()
public Map<String,Long> activeClients()
protected boolean inspect(BroadcastMessage m)
public void setInvalidateCacheInterval(long invalidateCacheInterval)
public void setClientIdleTime(long clientIdleTime)
protected void invalidateExpiredEntries()
public BroadcasterCache excludeFromCache(String broadcasterId,
AtmosphereResource r)
BroadcasterCacheAtmosphereResource to received cached message.
No new message will get sent to this client except the ones already cached.
excludeFromCache in interface BroadcasterCachebroadcasterId - The Broadcaster.getID()r - an AtmosphereResource
public BroadcasterCache cacheCandidate(String broadcasterId,
String uuid)
BroadcasterCacheAtmosphereResource.uuid() to the list of active AtmosphereResource
Message will be cached for the resource associated with the uuid.
cacheCandidate in interface BroadcasterCachebroadcasterId - The Broadcaster.getID()uuid - an AtmosphereResource.uuid()
public String toString()
toString in class Objectpublic List<BroadcasterCacheListener> listeners()
public List<BroadcasterCacheInspector> inspectors()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||