Class LocalSessionImpl
- All Implemented Interfaces:
ClientSession, LocalSession, Session, org.eclipse.jetty.util.component.Dumpable
A LocalSession implementation.
This LocalSession implementation communicates with its
ServerSession counterpart without any serialization.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classA channel scoped to this LocalSession.Nested classes/interfaces inherited from class AbstractClientSession
AbstractClientSession.AbstractSessionChannelNested classes/interfaces inherited from interface ClientSession
ClientSession.Extension, ClientSession.MessageListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.Dumpable.DumpAppendable -
Field Summary
Fields inherited from interface org.eclipse.jetty.util.component.Dumpable
LEGEND -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddisconnect(ClientSession.MessageListener callback) Disconnects this session, ending the link between the client and the server peers.getId()The clientId of the session.voidhandshake(Map<String, Object> template, ClientSession.MessageListener callback) Initiates the bayeux protocol handshake with the server(s).booleanA connected session is a session where the link between the client and the server has been established.booleanA handshook session is a session where the handshake has successfully completednewChannel(ChannelId channelId) protected ChannelIdnewChannelId(String channelId) protected ServerMessage.Mutablevoidreceive(Message.Mutable message, Promise<Void> promise) Receives a message (from the server) and process it.protected voidsend(Message.Mutable message) protected voidsend(ServerSessionImpl session, ServerMessage.Mutable message) Enqueues or sends a message to the server.protected voidtoString()Methods inherited from class AbstractClientSession
addExtension, batch, dump, endBatch, extendIncoming, extendOutgoing, getAttribute, getAttributeNames, getChannel, getChannel, getChannels, getExtensions, isBatching, newMessageId, notifyCallback, notifyListeners, registerCallback, registerSubscriber, remoteCall, removeAttribute, removeExtension, resetSubscriptions, setAttribute, startBatch, unregisterCallback, unregisterSubscriberMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ClientSession
addExtension, disconnect, getChannel, getExtensions, handshake, handshake, remoteCall, removeExtensionMethods inherited from interface org.eclipse.jetty.util.component.Dumpable
dump, dumpSelfMethods inherited from interface Session
batch, endBatch, getAttribute, getAttributeNames, removeAttribute, setAttribute, startBatch
-
Constructor Details
-
LocalSessionImpl
-
-
Method Details
-
receive
Description copied from class:AbstractClientSessionReceives a message (from the server) and process it.
Processing the message involves calling the receive
extensionsand the channellisteners.- Overrides:
receivein classAbstractClientSession- Parameters:
message- the message received.promise- the promise notified of the receive processing
-
newChannel
- Specified by:
newChannelin classAbstractClientSession
-
newChannelId
- Specified by:
newChannelIdin classAbstractClientSession
-
sendBatch
protected void sendBatch()- Specified by:
sendBatchin classAbstractClientSession
-
getServerSession
- Specified by:
getServerSessionin interfaceLocalSession- Returns:
- the associated
ServerSession
-
handshake
Description copied from interface:ClientSessionInitiates the bayeux protocol handshake with the server(s).
The handshake initiated by this method is asynchronous and does not wait for the handshake response.
- Specified by:
handshakein interfaceClientSession- Parameters:
template- additional fields to add to the handshake message.callback- the message listener to notify of the handshake result
-
disconnect
Description copied from interface:ClientSessionDisconnects this session, ending the link between the client and the server peers.
- Specified by:
disconnectin interfaceClientSession- Parameters:
callback- the message listener to notify of the disconnect result
-
getId
Description copied from interface:SessionThe clientId of the session.
This would more correctly be called a "sessionId", but for backwards compatibility with the Bayeux protocol, it is a field called "clientId" that identifies a session.
-
isConnected
public boolean isConnected()Description copied from interface:SessionA connected session is a session where the link between the client and the server has been established.
- Specified by:
isConnectedin interfaceSession- Returns:
- whether the session is connected
- See Also:
-
isHandshook
public boolean isHandshook()Description copied from interface:SessionA handshook session is a session where the handshake has successfully completed
- Specified by:
isHandshookin interfaceSession- Returns:
- whether the session is handshook
-
toString
-
send
- Specified by:
sendin classAbstractClientSession
-
send
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
- Overrides:
newMessagein classAbstractClientSession
-