Package org.cometd.common
Class AbstractClientSession
java.lang.Object
org.cometd.common.AbstractClientSession
- All Implemented Interfaces:
ClientSession
,org.cometd.bayeux.Session
,org.eclipse.jetty.util.component.Dumpable
public abstract class AbstractClientSession
extends Object
implements 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.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.cometd.bayeux.client.ClientSession
ClientSession.Extension, ClientSession.MessageListener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainer
-
Field Summary
Fields inherited from interface org.eclipse.jetty.util.component.Dumpable
KEY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addExtension(ClientSession.Extension extension)
void
void
dump(Appendable out, String indent)
boolean
endBatch()
protected void
extendIncoming(org.cometd.bayeux.Message.Mutable message, org.cometd.bayeux.Promise<Boolean> promise)
protected void
extendOutgoing(org.cometd.bayeux.Message.Mutable message, org.cometd.bayeux.Promise<Boolean> promise)
getAttribute(String name)
getChannel(String channelName)
getChannel(org.cometd.bayeux.ChannelId channelId)
protected boolean
protected abstract AbstractClientSession.AbstractSessionChannel
newChannel(org.cometd.bayeux.ChannelId channelId)
protected abstract org.cometd.bayeux.ChannelId
newChannelId(String channelId)
protected org.cometd.bayeux.Message.Mutable
protected String
protected void
notifyCallback(ClientSession.MessageListener callback, org.cometd.bayeux.Message.Mutable message)
protected void
notifyListeners(org.cometd.bayeux.Message.Mutable message)
void
Receives a message (from the server) and process it.protected void
registerCallback(String messageId, ClientSession.MessageListener callback)
protected void
registerSubscriber(String messageId, ClientSessionChannel.MessageListener subscriber)
void
remoteCall(String target, Object data, ClientSession.MessageListener callback)
removeAttribute(String name)
void
removeExtension(ClientSession.Extension extension)
protected void
protected abstract void
send(org.cometd.bayeux.Message.Mutable message)
protected abstract void
void
setAttribute(String name, Object value)
void
protected ClientSession.MessageListener
unregisterCallback(String messageId)
protected ClientSessionChannel.MessageListener
unregisterSubscriber(String messageId)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.cometd.bayeux.client.ClientSession
disconnect, disconnect, handshake, handshake, handshake
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable
dump, dumpSelf
Methods inherited from interface org.cometd.bayeux.Session
getId, isConnected, isHandshook
-
Constructor Details
-
AbstractClientSession
protected AbstractClientSession()
-
-
Method Details
-
newMessageId
-
addExtension
- Specified by:
addExtension
in interfaceClientSession
-
removeExtension
- Specified by:
removeExtension
in interfaceClientSession
-
getExtensions
- Specified by:
getExtensions
in interfaceClientSession
-
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
-
newChannel
protected abstract AbstractClientSession.AbstractSessionChannel newChannel(org.cometd.bayeux.ChannelId channelId) -
getChannel
- Specified by:
getChannel
in interfaceClientSession
-
getChannel
-
getChannels
-
startBatch
public void startBatch()- Specified by:
startBatch
in interfaceorg.cometd.bayeux.Session
-
sendBatch
protected abstract void sendBatch() -
endBatch
public boolean endBatch()- Specified by:
endBatch
in interfaceorg.cometd.bayeux.Session
-
batch
- Specified by:
batch
in interfaceorg.cometd.bayeux.Session
-
isBatching
protected boolean isBatching() -
getAttribute
- Specified by:
getAttribute
in interfaceorg.cometd.bayeux.Session
-
getAttributeNames
- Specified by:
getAttributeNames
in interfaceorg.cometd.bayeux.Session
-
removeAttribute
- Specified by:
removeAttribute
in interfaceorg.cometd.bayeux.Session
-
setAttribute
- Specified by:
setAttribute
in interfaceorg.cometd.bayeux.Session
-
remoteCall
- Specified by:
remoteCall
in interfaceClientSession
-
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 channellisteners
.- 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(ClientSession.MessageListener callback, org.cometd.bayeux.Message.Mutable message) -
registerCallback
-
unregisterCallback
-
registerSubscriber
protected void registerSubscriber(String messageId, ClientSessionChannel.MessageListener subscriber) -
unregisterSubscriber
-
dump
- Specified by:
dump
in interfaceorg.eclipse.jetty.util.component.Dumpable
- Throws:
IOException
-