public interface ServerChannel extends ConfigurableServerChannel
Server side representation of a Bayeux channel.
ServerChannel
is the entity that holds a set of
ServerSession
s that are subscribed to the channel itself.
A message published to a ServerChannel
will be delivered to
all the ServerSession
's subscribed to the channel.
Contrary to their client side counterpart (ClientSessionChannel
)
a ServerChannel
is not scoped with a session.
Modifier and Type | Interface and Description |
---|---|
static interface |
ServerChannel.MessageListener
Listeners objects that implement this interface will be notified of message publish.
|
static interface |
ServerChannel.SubscriptionListener
Listener objects that implement this interface will be notified of subscription events.
|
ConfigurableServerChannel.Initializer, ConfigurableServerChannel.ServerChannelListener
META, META_CONNECT, META_DISCONNECT, META_HANDSHAKE, META_SUBSCRIBE, META_UNSUBSCRIBE, SERVICE
Modifier and Type | Method and Description |
---|---|
Set<ServerSession> |
getSubscribers() |
void |
publish(Session from,
Object data,
Promise<Boolean> promise)
Publishes the given information to this channel.
|
void |
publish(Session from,
ServerMessage.Mutable message,
Promise<Boolean> promise)
Publishes the given message to this channel, delivering
the message to all the
ServerSession s subscribed to
this channel. |
void |
remove()
Removes this channel, and all the children channels.
|
boolean |
subscribe(ServerSession session)
Subscribes the given session to this channel.
|
boolean |
unsubscribe(ServerSession session)
Unsubscribes the given session from this channel.
|
addAuthorizer, addListener, getAuthorizers, getLazyTimeout, getListeners, isBroadcastToPublisher, isLazy, isPersistent, removeAuthorizer, removeListener, setBroadcastToPublisher, setLazy, setLazyTimeout, setPersistent
getAttribute, getAttributeNames, getChannelId, getId, isBroadcast, isDeepWild, isMeta, isService, isWild, removeAttribute, setAttribute
Set<ServerSession> getSubscribers()
boolean subscribe(ServerSession session)
Subscribes the given session to this channel.
Subscriptions are effective for broadcast channels
and are successful no-operations for service channels
.
The subscription may fail if the session is already subscribed to the channel or if the session is expired or if the channel is a meta channel.
session
- the session to subscribeunsubscribe(ServerSession)
boolean unsubscribe(ServerSession session)
Unsubscribes the given session from this channel.
Unsubscriptions are effective for broadcast channels
and are successful no-operations for service channels
.
The unsubscription may fail if the session is already unsubscribed from the channel or if the session is expired or if the channel is a meta channel.
session
- the session to unsubscribevoid publish(Session from, ServerMessage.Mutable message, Promise<Boolean> promise)
Publishes the given message to this channel, delivering
the message to all the ServerSession
s subscribed to
this channel.
from
- the session from which the message originatesmessage
- the message to publishpromise
- the promise to notify whether the message has been publishedpublish(Session, Object, Promise)
void publish(Session from, Object data, Promise<Boolean> promise)
Publishes the given information to this channel.
from
- the session from which the message originatesdata
- the data of the messagepromise
- the promise to notify whether the message has been publishedpublish(Session, ServerMessage.Mutable, Promise)
void remove()
Removes this channel, and all the children channels.
If channel "/foo", "/foo/bar" and "/foo/blip" exist, removing channel "/foo" will remove also "/foo/bar" and "/foo/blip".
The removal will notify BayeuxServer.ChannelListener
listeners.
Copyright © 2008–2024 The CometD Project. All rights reserved.