|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.cometd.server.MessagePool
org.cometd.server.AbstractBayeux
public abstract class AbstractBayeux
| Nested Class Summary | |
|---|---|
protected class |
AbstractBayeux.ConnectHandler
|
static class |
AbstractBayeux.DefaultPolicy
|
protected class |
AbstractBayeux.DisconnectHandler
|
protected class |
AbstractBayeux.Handler
|
protected class |
AbstractBayeux.HandshakeHandler
|
protected class |
AbstractBayeux.MetaPublishHandler
|
protected class |
AbstractBayeux.PingHandler
|
protected class |
AbstractBayeux.PublishHandler
|
protected class |
AbstractBayeux.ServiceChannel
|
protected class |
AbstractBayeux.SubscribeHandler
|
protected class |
AbstractBayeux.UnsubscribeHandler
|
| Field Summary | |
|---|---|
protected org.eclipse.jetty.util.ajax.JSON.Literal |
_advice
|
protected int |
_adviceVersion
|
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.lang.String>> |
_browser2client
|
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,ChannelId> |
_channelIdCache
|
protected java.util.List<ChannelBayeuxListener> |
_channelListeners
|
protected java.util.List<ClientBayeuxListener> |
_clientListeners
|
protected Extension[] |
_extensions
|
protected java.lang.Object |
_handshakeAdvice
|
protected boolean |
_initialized
|
protected long |
_interval
|
protected int |
_logLevel
|
protected int |
_maxClientQueue
|
protected long |
_maxInterval
|
protected int |
_maxLazyLatency
|
protected AbstractBayeux.Handler |
_metaPublishHandler
|
protected org.eclipse.jetty.util.ajax.JSON.Literal |
_multiFrameAdvice
|
protected int |
_multiFrameInterval
|
protected AbstractBayeux.Handler |
_publishHandler
|
protected java.util.Random |
_random
|
protected java.lang.ThreadLocal<javax.servlet.http.HttpServletRequest> |
_request
|
protected boolean |
_requestAvailable
|
protected SecurityPolicy |
_securityPolicy
|
protected long |
_timeout
|
protected org.eclipse.jetty.util.ajax.JSON.Literal |
_transports
|
static ChannelId |
META_CLIENT_ID
|
static ChannelId |
META_CONNECT_ID
|
static ChannelId |
META_DISCONNECT_ID
|
static ChannelId |
META_HANDSHAKE_ID
|
static ChannelId |
META_ID
|
static ChannelId |
META_PING_ID
|
static ChannelId |
META_STATUS_ID
|
static ChannelId |
META_SUBSCRIBE_ID
|
static ChannelId |
META_UNSUBSCRIBE_ID
|
| Constructor Summary | |
|---|---|
protected |
AbstractBayeux()
|
| Method Summary | |
|---|---|
protected void |
addChannel(ChannelImpl channel)
|
protected void |
addClient(ClientImpl client,
java.lang.String idPrefix)
|
void |
addExtension(Extension ext)
|
void |
addListener(BayeuxListener listener)
|
protected void |
doPublish(ChannelId to,
Client from,
java.lang.Object data,
java.lang.String msgId,
boolean lazy)
Publish data to a channel. |
protected Message |
extendRcv(ClientImpl from,
Message message)
|
protected Message |
extendRcvMeta(ClientImpl from,
Message message)
|
protected Message |
extendSendBayeux(Client from,
Message message)
|
Message |
extendSendClient(Client from,
ClientImpl to,
Message message)
|
Message |
extendSendMeta(ClientImpl from,
Message message)
|
org.eclipse.jetty.util.ajax.JSON.Literal |
getAdvice()
|
ChannelImpl |
getChannel(ChannelId id)
|
ChannelImpl |
getChannel(java.lang.String id)
|
Channel |
getChannel(java.lang.String id,
boolean create)
|
int |
getChannelCount()
|
ChannelId |
getChannelId(java.lang.String id)
|
int |
getChannelIdCacheLimit()
|
java.util.Collection<Channel> |
getChannels()
|
Client |
getClient(java.lang.String client_id)
|
int |
getClientCount()
|
java.util.Set<java.lang.String> |
getClientIDs()
|
java.util.Collection<Client> |
getClients()
|
javax.servlet.http.HttpServletRequest |
getCurrentRequest()
|
long |
getInterval()
|
int |
getLogLevel()
|
int |
getMaxClientQueue()
|
long |
getMaxInterval()
|
int |
getMaxLazyLatency()
|
int |
getMultiFrameInterval()
|
SecurityPolicy |
getSecurityPolicy()
|
long |
getTimeout()
|
java.lang.String |
handle(ClientImpl client,
Transport transport,
Message message)
Handle a Bayeux message. |
boolean |
hasChannel(java.lang.String id)
|
boolean |
hasClient(java.lang.String clientId)
|
protected void |
initialize(javax.servlet.ServletContext context)
|
boolean |
isDirectDeliver()
|
boolean |
isInitialized()
|
boolean |
isJSONCommented()
Deprecated. |
boolean |
isLogDebug()
|
boolean |
isLogInfo()
|
boolean |
isRequestAvailable()
|
void |
logDebug(java.lang.String message)
|
void |
logDebug(java.lang.String message,
java.lang.Throwable th)
|
void |
logInfo(java.lang.String message)
|
void |
logWarn(java.lang.String message)
|
void |
logWarn(java.lang.String message,
java.lang.Throwable th)
|
Client |
newClient(java.lang.String idPrefix)
|
protected java.lang.String |
newClientId(long variation,
java.lang.String idPrefix)
|
abstract ClientImpl |
newRemoteClient()
|
Transport |
newTransport(ClientImpl client,
java.util.Map<?,?> message)
Create new transport object for a bayeux message |
boolean |
removeChannel(ChannelImpl channel)
|
Channel |
removeChannel(java.lang.String channelId)
|
Client |
removeClient(java.lang.String client_id)
|
void |
removeExtension(Extension ext)
|
void |
removeListener(BayeuxListener listener)
|
void |
setAdvice(org.eclipse.jetty.util.ajax.JSON.Literal advice)
|
void |
setChannelIdCacheLimit(int channelIdCacheLimit)
Sets the cache limit for ChannelIds: use -1 to disable the cache, 0 for
an unlimited cache, and any positive value for the limit after which the cache
is cleared. |
void |
setDirectDeliver(boolean directDeliver)
Deprecated. |
void |
setInterval(long ms)
|
void |
setJSONCommented(boolean commented)
|
void |
setLogLevel(int logLevel)
|
void |
setMaxClientQueue(int size)
|
void |
setMaxInterval(long ms)
|
void |
setMaxLazyLatency(int ms)
|
void |
setMultiFrameInterval(int multiFrameInterval)
The time a client should delay between reconnects when multiple connections from the same browser are detected. |
void |
setRequestAvailable(boolean requestAvailable)
|
void |
setSecurityPolicy(SecurityPolicy securityPolicy)
|
void |
setTimeout(long ms)
|
| Methods inherited from class org.cometd.server.MessagePool |
|---|
getBatchJSON, getJSON, getMsgJSON, newMessage, newMessage, parse, parse, parseTo, setBatchJSON, setJSON, setMsgJSON, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final ChannelId META_ID
public static final ChannelId META_CONNECT_ID
public static final ChannelId META_CLIENT_ID
public static final ChannelId META_DISCONNECT_ID
public static final ChannelId META_HANDSHAKE_ID
public static final ChannelId META_PING_ID
public static final ChannelId META_STATUS_ID
public static final ChannelId META_SUBSCRIBE_ID
public static final ChannelId META_UNSUBSCRIBE_ID
protected final java.util.concurrent.ConcurrentHashMap<java.lang.String,ChannelId> _channelIdCache
protected final java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.lang.String>> _browser2client
protected final java.lang.ThreadLocal<javax.servlet.http.HttpServletRequest> _request
protected final java.util.List<ClientBayeuxListener> _clientListeners
protected final java.util.List<ChannelBayeuxListener> _channelListeners
protected final AbstractBayeux.Handler _publishHandler
protected final AbstractBayeux.Handler _metaPublishHandler
protected SecurityPolicy _securityPolicy
protected org.eclipse.jetty.util.ajax.JSON.Literal _advice
protected org.eclipse.jetty.util.ajax.JSON.Literal _multiFrameAdvice
protected int _adviceVersion
protected java.lang.Object _handshakeAdvice
protected int _logLevel
protected long _timeout
protected long _interval
protected long _maxInterval
protected boolean _initialized
protected int _multiFrameInterval
protected boolean _requestAvailable
protected java.util.Random _random
protected int _maxClientQueue
protected Extension[] _extensions
protected org.eclipse.jetty.util.ajax.JSON.Literal _transports
protected int _maxLazyLatency
| Constructor Detail |
|---|
protected AbstractBayeux()
| Method Detail |
|---|
public void addExtension(Extension ext)
addExtension in interface Bayeuxpublic void removeExtension(Extension ext)
removeExtension in interface Bayeuxpublic ChannelImpl getChannel(ChannelId id)
id - the channel id
public ChannelImpl getChannel(java.lang.String id)
public Channel getChannel(java.lang.String id,
boolean create)
getChannel in interface Bayeuxpublic ChannelId getChannelId(java.lang.String id)
public Client getClient(java.lang.String client_id)
getClient in interface Bayeuxpublic java.util.Set<java.lang.String> getClientIDs()
public long getMaxInterval()
public int getLogLevel()
public SecurityPolicy getSecurityPolicy()
getSecurityPolicy in interface Bayeuxpublic long getTimeout()
public long getInterval()
public boolean isDirectDeliver()
public void setDirectDeliver(boolean directDeliver)
directDeliver - true if published messages are directly delivered to
subscribers. False if a new message is to be created that
holds only supported fields.
public java.lang.String handle(ClientImpl client,
Transport transport,
Message message)
throws java.io.IOException
client - The client if knowntransport - The transport to use for the messagemessage - The bayeux message.
java.io.IOException - if the handle failspublic boolean hasChannel(java.lang.String id)
hasChannel in interface Bayeuxpublic boolean isInitialized()
public boolean isJSONCommented()
public boolean isLogDebug()
public boolean isLogInfo()
public void logDebug(java.lang.String message)
public void logDebug(java.lang.String message,
java.lang.Throwable th)
public void logWarn(java.lang.String message,
java.lang.Throwable th)
public void logWarn(java.lang.String message)
public void logInfo(java.lang.String message)
public Client newClient(java.lang.String idPrefix)
newClient in interface Bayeuxpublic abstract ClientImpl newRemoteClient()
public Transport newTransport(ClientImpl client,
java.util.Map<?,?> message)
client - The clientmessage - the bayeux message
protected void doPublish(ChannelId to,
Client from,
java.lang.Object data,
java.lang.String msgId,
boolean lazy)
to - the channel id to publish tofrom - the client that publishesdata - the data to publishmsgId - the message idlazy - whether the message is published lazilypublic boolean removeChannel(ChannelImpl channel)
protected void addChannel(ChannelImpl channel)
protected java.lang.String newClientId(long variation,
java.lang.String idPrefix)
protected void addClient(ClientImpl client,
java.lang.String idPrefix)
public Client removeClient(java.lang.String client_id)
removeClient in interface Bayeuxpublic void setMaxInterval(long ms)
ms - The maximum time in ms to wait between polls before timing out
a clientpublic void setJSONCommented(boolean commented)
commented - the commented to setpublic void setLogLevel(int logLevel)
logLevel - the logLevel: 0=none, 1=info, 2=debugpublic void setSecurityPolicy(SecurityPolicy securityPolicy)
setSecurityPolicy in interface Bayeuxpublic void setTimeout(long ms)
public void setInterval(long ms)
public void setMultiFrameInterval(int multiFrameInterval)
multiFrameInterval - the multiFrameInterval to setpublic int getMultiFrameInterval()
public int getChannelIdCacheLimit()
ChannelId cachesetChannelIdCacheLimit(int)public void setChannelIdCacheLimit(int channelIdCacheLimit)
ChannelIds: use -1 to disable the cache, 0 for
an unlimited cache, and any positive value for the limit after which the cache
is cleared.
channelIdCacheLimit - the limit of the ChannelId cachegetChannelIdCacheLimit()public void setAdvice(org.eclipse.jetty.util.ajax.JSON.Literal advice)
public org.eclipse.jetty.util.ajax.JSON.Literal getAdvice()
public boolean isRequestAvailable()
getCurrentRequest() will return the current
requestpublic void setRequestAvailable(boolean requestAvailable)
requestAvailable - TRUE if getCurrentRequest() will return the current
requestpublic javax.servlet.http.HttpServletRequest getCurrentRequest()
getCurrentRequest in interface BayeuxisRequestAvailable() is true,
else nullpublic java.util.Collection<Channel> getChannels()
getChannels in interface Bayeuxpublic int getChannelCount()
public java.util.Collection<Client> getClients()
getClients in interface Bayeuxpublic int getClientCount()
public boolean hasClient(java.lang.String clientId)
hasClient in interface Bayeuxpublic Channel removeChannel(java.lang.String channelId)
removeChannel in interface Bayeuxprotected void initialize(javax.servlet.ServletContext context)
public void addListener(BayeuxListener listener)
addListener in interface Bayeuxpublic void removeListener(BayeuxListener listener)
removeListener in interface Bayeuxpublic int getMaxClientQueue()
getMaxClientQueue in interface Bayeuxpublic void setMaxClientQueue(int size)
setMaxClientQueue in interface Bayeux
protected Message extendRcv(ClientImpl from,
Message message)
protected Message extendRcvMeta(ClientImpl from,
Message message)
protected Message extendSendBayeux(Client from,
Message message)
public Message extendSendClient(Client from,
ClientImpl to,
Message message)
public Message extendSendMeta(ClientImpl from,
Message message)
public int getMaxLazyLatency()
public void setMaxLazyLatency(int ms)
ms - the maximum ms that a lazy message will wait before
resuming waiting client
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||