|
||||||||||
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.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 AbstractBayeux.Handler |
_metaPublishHandler
|
protected org.eclipse.jetty.util.ajax.JSON.Literal |
_multiFrameAdvice
|
protected int |
_multiFrameInterval
|
protected AbstractBayeux.Handler |
_publishHandler
|
protected org.eclipse.jetty.util.ajax.JSON.Literal |
_replyExt
|
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 | |
---|---|
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)
|
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 |
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 |
setAdvice(org.eclipse.jetty.util.ajax.JSON.Literal advice)
|
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 |
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 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 java.util.concurrent.ConcurrentHashMap<java.lang.String,java.util.List<java.lang.String>> _browser2client
protected int _multiFrameInterval
protected boolean _requestAvailable
protected java.lang.ThreadLocal<javax.servlet.http.HttpServletRequest> _request
protected AbstractBayeux.Handler _publishHandler
protected AbstractBayeux.Handler _metaPublishHandler
protected int _maxClientQueue
protected Extension[] _extensions
protected org.eclipse.jetty.util.ajax.JSON.Literal _transports
protected org.eclipse.jetty.util.ajax.JSON.Literal _replyExt
protected java.util.List<ClientBayeuxListener> _clientListeners
protected java.util.List<ChannelBayeuxListener> _channelListeners
Constructor Detail |
---|
protected AbstractBayeux()
context.
- The logLevel init parameter is used to set the logging to
0=none, 1=info, 2=debugMethod Detail |
---|
public void addExtension(Extension ext)
addExtension
in interface Bayeux
public ChannelImpl getChannel(ChannelId id)
id
-
public ChannelImpl getChannel(java.lang.String id)
public Channel getChannel(java.lang.String id, boolean create)
getChannel
in interface Bayeux
public ChannelId getChannelId(java.lang.String id)
public Client getClient(java.lang.String client_id)
getClient
in interface Bayeux
public java.util.Set<java.lang.String> getClientIDs()
public long getMaxInterval()
public int getLogLevel()
public SecurityPolicy getSecurityPolicy()
getSecurityPolicy
in interface Bayeux
public 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
public boolean hasChannel(java.lang.String id)
hasChannel
in interface Bayeux
public 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 Bayeux
public 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
- from
- data
- msgId
- public boolean removeChannel(ChannelImpl channel)
public 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 Bayeux
public 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 Bayeux
public void setTimeout(long ms)
public void setInterval(long ms)
public void setMultiFrameInterval(int multiFrameInterval)
multiFrameInterval
- the multiFrameInterval to setpublic int getMultiFrameInterval()
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 Bayeux
isRequestAvailable()
is true, else nullpublic java.util.Collection<Channel> getChannels()
getChannels
in interface Bayeux
public int getChannelCount()
public java.util.Collection<Client> getClients()
getClients
in interface Bayeux
public int getClientCount()
public boolean hasClient(java.lang.String clientId)
hasClient
in interface Bayeux
public Channel removeChannel(java.lang.String channelId)
removeChannel
in interface Bayeux
protected void initialize(javax.servlet.ServletContext context)
public void addListener(BayeuxListener listener)
addListener
in interface Bayeux
public int getMaxClientQueue()
getMaxClientQueue
in interface Bayeux
public 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)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |