Class AbstractClientSession

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

    public abstract class AbstractClientSession
    extends Object
    implements org.cometd.bayeux.client.ClientSession, org.eclipse.jetty.util.component.Dumpable

    Partial implementation of ClientSession.

    It handles extensions and batching, and provides utility methods to be used by subclasses.

    • Constructor Detail

      • AbstractClientSession

        protected AbstractClientSession()
    • Method Detail

      • newMessageId

        protected String newMessageId()
      • addExtension

        public void addExtension​(org.cometd.bayeux.client.ClientSession.Extension extension)
        Specified by:
        addExtension in interface org.cometd.bayeux.client.ClientSession
      • removeExtension

        public void removeExtension​(org.cometd.bayeux.client.ClientSession.Extension extension)
        Specified by:
        removeExtension in interface org.cometd.bayeux.client.ClientSession
      • getExtensions

        public List<org.cometd.bayeux.client.ClientSession.Extension> getExtensions()
        Specified by:
        getExtensions in interface org.cometd.bayeux.client.ClientSession
      • extendOutgoing

        protected void extendOutgoing​(org.cometd.bayeux.Message.Mutable message,
                                      org.cometd.bayeux.Promise<Boolean> promise)
      • extendIncoming

        protected void extendIncoming​(org.cometd.bayeux.Message.Mutable message,
                                      org.cometd.bayeux.Promise<Boolean> promise)
      • newChannelId

        protected abstract org.cometd.bayeux.ChannelId newChannelId​(String channelId)
      • getChannel

        public org.cometd.bayeux.client.ClientSessionChannel getChannel​(String channelName)
        Specified by:
        getChannel in interface org.cometd.bayeux.client.ClientSession
      • getChannel

        public org.cometd.bayeux.client.ClientSessionChannel getChannel​(org.cometd.bayeux.ChannelId channelId)
      • startBatch

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

        protected abstract void sendBatch()
      • endBatch

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

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

        protected boolean isBatching()
      • getAttribute

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

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

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

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

        public void remoteCall​(String target,
                               Object data,
                               org.cometd.bayeux.client.ClientSession.MessageListener callback)
        Specified by:
        remoteCall in interface org.cometd.bayeux.client.ClientSession
      • send

        protected abstract void send​(org.cometd.bayeux.Message.Mutable message)
      • newMessage

        protected org.cometd.bayeux.Message.Mutable newMessage()
      • resetSubscriptions

        protected void resetSubscriptions()
      • receive

        public void receive​(org.cometd.bayeux.Message.Mutable message,
                            org.cometd.bayeux.Promise<Void> promise)

        Receives a message (from the server) and process it.

        Processing the message involves calling the receive extensions and the channel listeners.

        Parameters:
        message - the message received.
        promise - the promise notified of the receive processing
      • notifyListeners

        protected void notifyListeners​(org.cometd.bayeux.Message.Mutable message)
      • notifyCallback

        protected void notifyCallback​(org.cometd.bayeux.client.ClientSession.MessageListener callback,
                                      org.cometd.bayeux.Message.Mutable message)
      • registerCallback

        protected void registerCallback​(String messageId,
                                        org.cometd.bayeux.client.ClientSession.MessageListener callback)
      • unregisterCallback

        protected org.cometd.bayeux.client.ClientSession.MessageListener unregisterCallback​(String messageId)
      • registerSubscriber

        protected void registerSubscriber​(String messageId,
                                          org.cometd.bayeux.client.ClientSessionChannel.MessageListener subscriber)
      • unregisterSubscriber

        protected org.cometd.bayeux.client.ClientSessionChannel.MessageListener unregisterSubscriber​(String messageId)