Package org.cometd.common
Class AbstractClientSession
java.lang.Object
org.cometd.common.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.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractClientSession.AbstractSessionChannelA channel scoped to aClientSession. -
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractClientSession() -
Method Summary
Modifier and Type Method Description voidaddExtension(org.cometd.bayeux.client.ClientSession.Extension extension)voidbatch(Runnable batch)voiddump(Appendable out, String indent)booleanendBatch()protected voidextendIncoming(org.cometd.bayeux.Message.Mutable message, org.cometd.bayeux.Promise<Boolean> promise)protected voidextendOutgoing(org.cometd.bayeux.Message.Mutable message, org.cometd.bayeux.Promise<Boolean> promise)ObjectgetAttribute(String name)Set<String>getAttributeNames()org.cometd.bayeux.client.ClientSessionChannelgetChannel(String channelName)org.cometd.bayeux.client.ClientSessionChannelgetChannel(org.cometd.bayeux.ChannelId channelId)protected ConcurrentMap<String,AbstractClientSession.AbstractSessionChannel>getChannels()List<org.cometd.bayeux.client.ClientSession.Extension>getExtensions()protected booleanisBatching()protected abstract AbstractClientSession.AbstractSessionChannelnewChannel(org.cometd.bayeux.ChannelId channelId)protected abstract org.cometd.bayeux.ChannelIdnewChannelId(String channelId)protected org.cometd.bayeux.Message.MutablenewMessage()protected StringnewMessageId()protected voidnotifyCallback(org.cometd.bayeux.client.ClientSession.MessageListener callback, org.cometd.bayeux.Message.Mutable message)protected voidnotifyListeners(org.cometd.bayeux.Message.Mutable message)voidreceive(org.cometd.bayeux.Message.Mutable message, org.cometd.bayeux.Promise<Void> promise)Receives a message (from the server) and process it.protected voidregisterCallback(String messageId, org.cometd.bayeux.client.ClientSession.MessageListener callback)protected voidregisterSubscriber(String messageId, org.cometd.bayeux.client.ClientSessionChannel.MessageListener subscriber)voidremoteCall(String target, Object data, org.cometd.bayeux.client.ClientSession.MessageListener callback)ObjectremoveAttribute(String name)voidremoveExtension(org.cometd.bayeux.client.ClientSession.Extension extension)protected voidresetSubscriptions()protected abstract voidsend(org.cometd.bayeux.Message.Mutable message)protected abstract voidsendBatch()voidsetAttribute(String name, Object value)voidstartBatch()protected org.cometd.bayeux.client.ClientSession.MessageListenerunregisterCallback(String messageId)protected org.cometd.bayeux.client.ClientSessionChannel.MessageListenerunregisterSubscriber(String messageId)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
AbstractClientSession
protected AbstractClientSession()
-
-
Method Details
-
newMessageId
-
addExtension
public void addExtension(org.cometd.bayeux.client.ClientSession.Extension extension)- Specified by:
addExtensionin interfaceorg.cometd.bayeux.client.ClientSession
-
removeExtension
public void removeExtension(org.cometd.bayeux.client.ClientSession.Extension extension)- Specified by:
removeExtensionin interfaceorg.cometd.bayeux.client.ClientSession
-
getExtensions
- Specified by:
getExtensionsin interfaceorg.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
-
newChannel
protected abstract AbstractClientSession.AbstractSessionChannel newChannel(org.cometd.bayeux.ChannelId channelId) -
getChannel
- Specified by:
getChannelin interfaceorg.cometd.bayeux.client.ClientSession
-
getChannel
public org.cometd.bayeux.client.ClientSessionChannel getChannel(org.cometd.bayeux.ChannelId channelId) -
getChannels
-
startBatch
public void startBatch()- Specified by:
startBatchin interfaceorg.cometd.bayeux.Session
-
sendBatch
protected abstract void sendBatch() -
endBatch
public boolean endBatch()- Specified by:
endBatchin interfaceorg.cometd.bayeux.Session
-
batch
- Specified by:
batchin interfaceorg.cometd.bayeux.Session
-
isBatching
protected boolean isBatching() -
getAttribute
- Specified by:
getAttributein interfaceorg.cometd.bayeux.Session
-
getAttributeNames
- Specified by:
getAttributeNamesin interfaceorg.cometd.bayeux.Session
-
removeAttribute
- Specified by:
removeAttributein interfaceorg.cometd.bayeux.Session
-
setAttribute
- Specified by:
setAttributein interfaceorg.cometd.bayeux.Session
-
remoteCall
public void remoteCall(String target, Object data, org.cometd.bayeux.client.ClientSession.MessageListener callback)- Specified by:
remoteCallin interfaceorg.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
extensionsand 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(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) -
dump
- Specified by:
dumpin interfaceorg.eclipse.jetty.util.component.Dumpable- Throws:
IOException
-