public 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 and Description |
---|---|
static interface |
ClientSession.Extension
Extension API for client session.
|
static interface |
ClientSession.MessageListener
A listener for remote call messages.
|
Modifier and Type | Method and Description |
---|---|
void |
addExtension(ClientSession.Extension extension)
Adds an extension to this session.
|
void |
disconnect(ClientSessionChannel.MessageListener callback)
Disconnects this session, ending the link between the client and the server peers.
|
ClientSessionChannel |
getChannel(String channelName)
Returns a client side channel scoped by this session.
|
List<ClientSession.Extension> |
getExtensions() |
void |
handshake()
Equivalent to
handshake(null) . |
void |
handshake(Map<String,Object> template)
Equivalent to
handshake(template, null) . |
void |
handshake(Map<String,Object> template,
ClientSessionChannel.MessageListener callback)
Initiates the bayeux protocol handshake with the server(s).
|
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, disconnect, endBatch, getAttribute, getAttributeNames, getId, isConnected, isHandshook, removeAttribute, setAttribute, startBatch
void 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)
void handshake()
Equivalent to handshake(null)
.
void handshake(Map<String,Object> template)
Equivalent to handshake(template, null)
.
template
- additional fields to add to the handshake message.void handshake(Map<String,Object> template, ClientSessionChannel.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 resultvoid disconnect(ClientSessionChannel.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–2016 The CometD Project. All rights reserved.