Class ServerSessionImpl

  • All Implemented Interfaces:
    ServerSession, org.cometd.bayeux.Session, org.eclipse.jetty.util.component.Dumpable

    public class ServerSessionImpl
    extends java.lang.Object
    implements ServerSession, org.eclipse.jetty.util.component.Dumpable
    • Method Detail

      • getUserAgent

        public java.lang.String getUserAgent()
        Specified by:
        getUserAgent in interface ServerSession
        Returns:
        the remote user agent
      • setUserAgent

        public void setUserAgent​(java.lang.String userAgent)
        Parameters:
        userAgent - the remote user agent
      • getBrowserId

        public java.lang.String getBrowserId()
        Returns:
        the remote client identifier
      • setBrowserId

        public void setBrowserId​(java.lang.String browserId)

        Sets a remote client identifier, typically a browser.

        Parameters:
        browserId - the remote client identifier
      • sweep

        protected boolean sweep​(long now)
      • batch

        public void batch​(java.lang.Runnable batch)
        Specified by:
        batch in interface org.cometd.bayeux.Session
      • deliver

        public void deliver​(org.cometd.bayeux.Session sender,
                            ServerMessage.Mutable message,
                            org.cometd.bayeux.Promise<java.lang.Boolean> promise)
        Specified by:
        deliver in interface ServerSession
      • deliver

        public void deliver​(org.cometd.bayeux.Session sender,
                            java.lang.String channelId,
                            java.lang.Object data,
                            org.cometd.bayeux.Promise<java.lang.Boolean> promise)
        Specified by:
        deliver in interface ServerSession
      • connected

        protected boolean connected()
      • disconnect

        public void disconnect()
        Specified by:
        disconnect in interface org.cometd.bayeux.Session
      • startBatch

        public void startBatch()
        Specified by:
        startBatch in interface org.cometd.bayeux.Session
      • endBatch

        public boolean endBatch()
        Specified by:
        endBatch in interface org.cometd.bayeux.Session
      • getId

        public java.lang.String getId()
        Specified by:
        getId in interface org.cometd.bayeux.Session
      • getLock

        public java.util.concurrent.locks.Lock getLock()
      • hasNonLazyMessages

        public boolean hasNonLazyMessages()
      • addMessage

        protected void addMessage​(ServerMessage message)
      • notifySuspended

        public void notifySuspended​(ServerMessage message,
                                    long timeout)
      • notifyResumed

        public void notifyResumed​(ServerMessage message,
                                  boolean timeout)
      • shouldSchedule

        public boolean shouldSchedule()
      • flush

        public void flush()
      • destroyScheduler

        public void destroyScheduler()
      • cancelExpiration

        public void cancelExpiration​(boolean metaConnect)
      • scheduleExpiration

        public void scheduleExpiration​(long defaultInterval,
                                       long defaultMaxInterval,
                                       long metaConnectCycle)
      • getAttribute

        public java.lang.Object getAttribute​(java.lang.String name)
        Specified by:
        getAttribute in interface org.cometd.bayeux.Session
      • getAttributeNames

        public java.util.Set<java.lang.String> getAttributeNames()
        Specified by:
        getAttributeNames in interface org.cometd.bayeux.Session
      • removeAttribute

        public java.lang.Object removeAttribute​(java.lang.String name)
        Specified by:
        removeAttribute in interface org.cometd.bayeux.Session
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.Object value)
        Specified by:
        setAttribute in interface org.cometd.bayeux.Session
      • isHandshook

        public boolean isHandshook()
        Specified by:
        isHandshook in interface org.cometd.bayeux.Session
      • isConnected

        public boolean isConnected()
        Specified by:
        isConnected in interface org.cometd.bayeux.Session
      • isDisconnected

        public boolean isDisconnected()
      • isTerminated

        public boolean isTerminated()
      • extendIncoming

        protected void extendIncoming​(ServerMessage.Mutable message,
                                      org.cometd.bayeux.Promise<java.lang.Boolean> promise)
      • reAdvise

        public void reAdvise()
      • takeAdvice

        public java.util.Map<java.lang.String,​java.lang.Object> takeAdvice​(ServerTransport transport)
      • setServerTransport

        public void setServerTransport​(ServerTransport transport)
      • updateServerEndPoint

        public boolean updateServerEndPoint​(java.lang.Object newEndPoint)
      • removed

        protected boolean removed​(ServerMessage message,
                                  boolean timeout)
        Parameters:
        message - the message that caused the removal, or null
        timeout - whether the session has been removed due a timeout
        Returns:
        True if the session was connected.
      • isAllowMessageDeliveryDuringHandshake

        public boolean isAllowMessageDeliveryDuringHandshake()
      • setAllowMessageDeliveryDuringHandshake

        public void setAllowMessageDeliveryDuringHandshake​(boolean allow)
      • calculateTimeout

        public long calculateTimeout​(long defaultTimeout)
      • calculateInterval

        public long calculateInterval​(long defaultInterval)
      • updateTransientTimeout

        public void updateTransientTimeout​(long timeout)
        Updates the transient timeout with the given value. The transient timeout is the one sent by the client, that should temporarily override the session/transport timeout, for example when the client sends {timeout:0}
        Parameters:
        timeout - the value to update the timeout to
        See Also:
        updateTransientInterval(long)
      • updateTransientInterval

        public void updateTransientInterval​(long interval)
        Updates the transient interval with the given value. The transient interval is the one sent by the client, that should temporarily override the session/transport interval, for example when the client sends {timeout:0,interval:60000}
        Parameters:
        interval - the value to update the interval to
        See Also:
        updateTransientTimeout(long)
      • dump

        public void dump​(java.lang.Appendable out,
                         java.lang.String indent)
                  throws java.io.IOException
        Specified by:
        dump in interface org.eclipse.jetty.util.component.Dumpable
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object