public class ServerSessionImpl extends Object implements ServerSession, org.eclipse.jetty.util.component.Dumpable
ServerSession.AddedListener, ServerSession.AddListener, ServerSession.DeQueueListener, ServerSession.Extension, ServerSession.HeartBeatListener, ServerSession.MaxQueueListener, ServerSession.MessageListener, ServerSession.QueueListener, ServerSession.QueueMaxedListener, ServerSession.RemovedListener, ServerSession.RemoveListener, ServerSession.ServerSessionListener
Constructor and Description |
---|
ServerSessionImpl(BayeuxServerImpl bayeux) |
ServerSessionImpl(BayeuxServerImpl bayeux,
LocalSessionImpl localSession,
String idHint) |
public ServerSessionImpl(BayeuxServerImpl bayeux)
public ServerSessionImpl(BayeuxServerImpl bayeux, LocalSessionImpl localSession, String idHint)
public BayeuxServerImpl getBayeuxServer()
public String getUserAgent()
getUserAgent
in interface ServerSession
public void setUserAgent(String userAgent)
userAgent
- the remote user agentpublic String getBrowserId()
public void setBrowserId(String browserId)
Sets a remote client identifier, typically a browser.
browserId
- the remote client identifierprotected boolean sweep(long now)
public Set<ServerChannel> getSubscriptions()
getSubscriptions
in interface ServerSession
public void addExtension(ServerSession.Extension extension)
addExtension
in interface ServerSession
public void removeExtension(ServerSession.Extension extension)
removeExtension
in interface ServerSession
public List<ServerSession.Extension> getExtensions()
getExtensions
in interface ServerSession
public void batch(Runnable batch)
batch
in interface org.cometd.bayeux.Session
public void deliver(org.cometd.bayeux.Session sender, ServerMessage.Mutable message, org.cometd.bayeux.Promise<Boolean> promise)
deliver
in interface ServerSession
public void deliver(org.cometd.bayeux.Session sender, String channelId, Object data, org.cometd.bayeux.Promise<Boolean> promise)
deliver
in interface ServerSession
protected void deliver1(ServerSession sender, ServerMessage.Mutable mutable, org.cometd.bayeux.Promise<Boolean> promise)
protected void extendOutgoing(ServerSession sender, ServerMessage.Mutable message, org.cometd.bayeux.Promise<ServerMessage.Mutable> promise)
protected boolean handshake(ServerMessage.Mutable message)
protected boolean connected()
public void disconnect()
disconnect
in interface org.cometd.bayeux.Session
public void startBatch()
startBatch
in interface org.cometd.bayeux.Session
public boolean endBatch()
endBatch
in interface org.cometd.bayeux.Session
public LocalSession getLocalSession()
getLocalSession
in interface ServerSession
public boolean isLocalSession()
isLocalSession
in interface ServerSession
public void addListener(ServerSession.ServerSessionListener listener)
addListener
in interface ServerSession
public String getId()
getId
in interface org.cometd.bayeux.Session
public Object getLock()
public Queue<ServerMessage> getQueue()
public boolean hasNonLazyMessages()
protected void addMessage(ServerMessage message)
public List<ServerMessage> takeQueue(List<ServerMessage.Mutable> replies)
public void notifySuspended(ServerMessage message, long timeout)
public void notifyResumed(ServerMessage message, boolean timeout)
public void removeListener(ServerSession.ServerSessionListener listener)
removeListener
in interface ServerSession
public List<ServerSession.ServerSessionListener> getListeners()
public void setScheduler(AbstractServerTransport.Scheduler newScheduler)
public boolean shouldSchedule()
public void flush()
public void destroyScheduler()
public void cancelExpiration(boolean metaConnect)
public void scheduleExpiration(long defaultInterval, long defaultMaxInterval, long metaConnectCycle)
public long getMaxInterval()
getMaxInterval
in interface ServerSession
public void setMaxInterval(long maxInterval)
setMaxInterval
in interface ServerSession
public Object getAttribute(String name)
getAttribute
in interface org.cometd.bayeux.Session
public Set<String> getAttributeNames()
getAttributeNames
in interface org.cometd.bayeux.Session
public Object removeAttribute(String name)
removeAttribute
in interface org.cometd.bayeux.Session
public void setAttribute(String name, Object value)
setAttribute
in interface org.cometd.bayeux.Session
public boolean isHandshook()
isHandshook
in interface org.cometd.bayeux.Session
public boolean isConnected()
isConnected
in interface org.cometd.bayeux.Session
public boolean isDisconnected()
public boolean isTerminated()
protected void extendIncoming(ServerMessage.Mutable message, org.cometd.bayeux.Promise<Boolean> promise)
public void reAdvise()
public Map<String,Object> takeAdvice(ServerTransport transport)
public ServerTransport getServerTransport()
getServerTransport
in interface ServerSession
public void setServerTransport(ServerTransport transport)
public boolean updateServerEndPoint(Object newEndPoint)
public long getTimeout()
getTimeout
in interface ServerSession
public long getInterval()
getInterval
in interface ServerSession
public void setTimeout(long timeoutMS)
setTimeout
in interface ServerSession
public void setInterval(long intervalMS)
setInterval
in interface ServerSession
public boolean isBroadcastToPublisher()
isBroadcastToPublisher
in interface ServerSession
public void setBroadcastToPublisher(boolean value)
setBroadcastToPublisher
in interface ServerSession
protected boolean removed(ServerMessage message, boolean timeout)
message
- the message that caused the removal, or nulltimeout
- whether the session has been removed due a timeoutpublic void setMetaConnectDeliveryOnly(boolean meta)
setMetaConnectDeliveryOnly
in interface ServerSession
public boolean isMetaConnectDeliveryOnly()
isMetaConnectDeliveryOnly
in interface ServerSession
public boolean isAllowMessageDeliveryDuringHandshake()
public void setAllowMessageDeliveryDuringHandshake(boolean allow)
protected boolean subscribe(ServerChannelImpl channel)
protected void unsubscribedFrom(ServerChannelImpl channel)
public long calculateTimeout(long defaultTimeout)
public long calculateInterval(long defaultInterval)
public void updateTransientTimeout(long timeout)
timeout
- the value to update the timeout toupdateTransientInterval(long)
public void updateTransientInterval(long interval)
interval
- the value to update the interval toupdateTransientTimeout(long)
public void dump(Appendable out, String indent) throws IOException
dump
in interface org.eclipse.jetty.util.component.Dumpable
IOException
Copyright © 2008–2023 The CometD Project. All rights reserved.