Class LocalSessionImpl

  • All Implemented Interfaces:
    org.cometd.bayeux.client.ClientSession, org.cometd.bayeux.server.LocalSession, org.cometd.bayeux.Session, org.eclipse.jetty.util.component.Dumpable

    public class LocalSessionImpl
    extends org.cometd.common.AbstractClientSession
    implements org.cometd.bayeux.server.LocalSession

    A LocalSession implementation.

    This LocalSession implementation communicates with its ServerSession counterpart without any serialization.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  LocalSessionImpl.LocalChannel
      A channel scoped to this LocalSession.
      • Nested classes/interfaces inherited from class org.cometd.common.AbstractClientSession

        org.cometd.common.AbstractClientSession.AbstractSessionChannel
      • Nested classes/interfaces inherited from interface org.cometd.bayeux.client.ClientSession

        org.cometd.bayeux.client.ClientSession.Extension, org.cometd.bayeux.client.ClientSession.MessageListener
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void disconnect​(org.cometd.bayeux.client.ClientSession.MessageListener callback)  
      java.lang.String getId()  
      org.cometd.bayeux.server.ServerSession getServerSession()  
      void handshake​(java.util.Map<java.lang.String,java.lang.Object> template, org.cometd.bayeux.client.ClientSession.MessageListener callback)  
      boolean isConnected()  
      boolean isHandshook()  
      protected org.cometd.common.AbstractClientSession.AbstractSessionChannel newChannel​(org.cometd.bayeux.ChannelId channelId)  
      protected org.cometd.bayeux.ChannelId newChannelId​(java.lang.String channelId)  
      protected org.cometd.bayeux.server.ServerMessage.Mutable newMessage()  
      void receive​(org.cometd.bayeux.Message.Mutable message, org.cometd.bayeux.Promise<java.lang.Void> promise)  
      protected void send​(org.cometd.bayeux.Message.Mutable message)  
      protected void send​(ServerSessionImpl session, org.cometd.bayeux.server.ServerMessage.Mutable message)
      Enqueues or sends a message to the server.
      protected void sendBatch()  
      java.lang.String toString()  
      • Methods inherited from class org.cometd.common.AbstractClientSession

        addExtension, batch, dump, dump, endBatch, extendIncoming, extendOutgoing, getAttribute, getAttributeNames, getChannel, getChannel, getChannels, getExtensions, isBatching, newMessageId, notifyCallback, notifyListeners, registerCallback, registerSubscriber, remoteCall, removeAttribute, removeExtension, resetSubscriptions, setAttribute, startBatch, unregisterCallback, unregisterSubscriber
      • Methods inherited from interface org.cometd.bayeux.client.ClientSession

        addExtension, disconnect, disconnect, getChannel, getExtensions, handshake, handshake, handshake, remoteCall, removeExtension
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.cometd.bayeux.Session

        batch, endBatch, getAttribute, getAttributeNames, removeAttribute, setAttribute, startBatch
    • Constructor Detail

      • LocalSessionImpl

        public LocalSessionImpl​(BayeuxServerImpl bayeux,
                                java.lang.String idHint)
    • Method Detail

      • receive

        public void receive​(org.cometd.bayeux.Message.Mutable message,
                            org.cometd.bayeux.Promise<java.lang.Void> promise)
        Overrides:
        receive in class org.cometd.common.AbstractClientSession
      • newChannel

        protected org.cometd.common.AbstractClientSession.AbstractSessionChannel newChannel​(org.cometd.bayeux.ChannelId channelId)
        Specified by:
        newChannel in class org.cometd.common.AbstractClientSession
      • newChannelId

        protected org.cometd.bayeux.ChannelId newChannelId​(java.lang.String channelId)
        Specified by:
        newChannelId in class org.cometd.common.AbstractClientSession
      • sendBatch

        protected void sendBatch()
        Specified by:
        sendBatch in class org.cometd.common.AbstractClientSession
      • getServerSession

        public org.cometd.bayeux.server.ServerSession getServerSession()
        Specified by:
        getServerSession in interface org.cometd.bayeux.server.LocalSession
      • handshake

        public void handshake​(java.util.Map<java.lang.String,java.lang.Object> template,
                              org.cometd.bayeux.client.ClientSession.MessageListener callback)
        Specified by:
        handshake in interface org.cometd.bayeux.client.ClientSession
      • disconnect

        public void disconnect​(org.cometd.bayeux.client.ClientSession.MessageListener callback)
        Specified by:
        disconnect in interface org.cometd.bayeux.client.ClientSession
      • getId

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

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

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

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

        protected void send​(org.cometd.bayeux.Message.Mutable message)
        Specified by:
        send in class org.cometd.common.AbstractClientSession
      • send

        protected void send​(ServerSessionImpl session,
                            org.cometd.bayeux.server.ServerMessage.Mutable message)

        Enqueues or sends a message to the server.

        This method will either enqueue the message, if this session is batching, or perform the send immediately.

        Parameters:
        session - The ServerSession to send as. This normally the current server session, but during handshake it is a proposed server session.
        message - The message to send.
      • newMessage

        protected org.cometd.bayeux.server.ServerMessage.Mutable newMessage()
        Overrides:
        newMessage in class org.cometd.common.AbstractClientSession