SessionLocalSessionpublic interface ClientSession extends Session
This interface represents the client side Bayeux session.
In addition to the common Bayeux session, this
interface provides method to configure extension, access channels
and to initiate the communication with a Bayeux server(s).
| Modifier and Type | Interface | Description |
|---|---|---|
static interface |
ClientSession.Extension |
Extension API for client session.
|
static interface |
ClientSession.MessageListener |
A listener for remote call messages.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addExtension(ClientSession.Extension extension) |
Adds an extension to this session.
|
default void |
disconnect() |
Disconnects this session, ending the link between the client and the server peers.
|
void |
disconnect(ClientSession.MessageListener callback) |
Disconnects this session, ending the link between the client and the server peers.
|
default void |
disconnect(ClientSessionChannel.MessageListener callback) |
Deprecated.
use
disconnect(MessageListener) instead |
ClientSessionChannel |
getChannel(String channelName) |
Returns a client side channel scoped by this session.
|
List<ClientSession.Extension> |
getExtensions() |
|
default void |
handshake() |
Equivalent to
handshake(null). |
default void |
handshake(Map<String,Object> template) |
Equivalent to
handshake(template, null). |
void |
handshake(Map<String,Object> template,
ClientSession.MessageListener callback) |
Initiates the bayeux protocol handshake with the server(s).
|
default void |
handshake(Map<String,Object> template,
ClientSessionChannel.MessageListener callback) |
Deprecated.
use
handshake(Map, MessageListener) instead |
void |
remoteCall(String target,
Object data,
ClientSession.MessageListener callback) |
Performs a remote call to the server, to the specified
target,
and with the given data as payload. |
void |
removeExtension(ClientSession.Extension extension) |
Removes an extension from this session.
|
batch, endBatch, getAttribute, getAttributeNames, getId, isConnected, isHandshook, removeAttribute, setAttribute, startBatchvoid addExtension(ClientSession.Extension extension)
extension - the extension to addremoveExtension(Extension)void removeExtension(ClientSession.Extension extension)
extension - the extension to removeaddExtension(Extension)List<ClientSession.Extension> getExtensions()
addExtension(Extension)default void handshake()
Equivalent to handshake(null).
default void handshake(Map<String,Object> template)
Equivalent to handshake(template, null).
template - additional fields to add to the handshake message.@Deprecated default void handshake(Map<String,Object> template, ClientSessionChannel.MessageListener callback)
handshake(Map, MessageListener) insteadvoid handshake(Map<String,Object> template, ClientSession.MessageListener callback)
Initiates the bayeux protocol handshake with the server(s).
The handshake initiated by this method is asynchronous and does not wait for the handshake response.
template - additional fields to add to the handshake message.callback - the message listener to notify of the handshake resultdefault void disconnect()
Sessiondisconnect in interface SessionSession.isConnected()@Deprecated default void disconnect(ClientSessionChannel.MessageListener callback)
disconnect(MessageListener) insteadvoid disconnect(ClientSession.MessageListener callback)
Disconnects this session, ending the link between the client and the server peers.
callback - the message listener to notify of the disconnect resultClientSessionChannel getChannel(String channelName)
Returns a client side channel scoped by this session.
The channel name may be for a specific channel (e.g. "/foo/bar") or for a wild channel (e.g. "/meta/**" or "/foo/*").
This method will always return a channel, even if the the channel has not been created on the server side. The server side channel is only involved once a publish or subscribe method is called on the channel returned by this method.
Typical usage examples are:
clientSession.getChannel("/foo/bar").subscribe(mySubscriptionListener);
clientSession.getChannel("/foo/bar").publish("Hello");
clientSession.getChannel("/meta/*").addListener(myMetaChannelListener);
channelName - specific or wild channel name.void remoteCall(String target, Object data, ClientSession.MessageListener callback)
Performs a remote call to the server, to the specified target,
and with the given data as payload.
The remote call response will be delivered via the callback
parameter.
Typical usage:
clientSession.remoteCall("getOnlineStatus", userId, new MessageListener()
{
@Override
public void onMessage(Message message)
{
if (message.isSuccessful())
{
String status = (String)message.getData();
// Update UI with online status.
}
else
{
// Remote call failed.
}
}
});
target - the remote call targetdata - the remote call parameterscallback - the listener that receives the remote call responseCopyright © 2008–2017 The CometD Project. All rights reserved.