Interface ServerChannel
- All Superinterfaces:
org.cometd.bayeux.Channel,ConfigurableServerChannel
Server side representation of a Bayeux channel.
ServerChannel is the entity that holds a set of
ServerSessions 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.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceListeners objects that implement this interface will be notified of message publish.static interfaceListener objects that implement this interface will be notified of subscription events.Nested classes/interfaces inherited from interface org.cometd.bayeux.server.ConfigurableServerChannel
ConfigurableServerChannel.Initializer, ConfigurableServerChannel.ServerChannelListener -
Field Summary
Fields inherited from interface org.cometd.bayeux.Channel
META, META_CONNECT, META_DISCONNECT, META_HANDSHAKE, META_SUBSCRIBE, META_UNSUBSCRIBE, SERVICE -
Method Summary
Modifier and TypeMethodDescriptionvoidPublishes the given information to this channel.voidpublish(org.cometd.bayeux.Session from, ServerMessage.Mutable message, org.cometd.bayeux.Promise<Boolean> promise) Publishes the given message to this channel, delivering the message to all theServerSessions subscribed to this channel.voidremove()Removes this channel, and all the children channels.booleansubscribe(ServerSession session) Subscribes the given session to this channel.booleanunsubscribe(ServerSession session) Unsubscribes the given session from this channel.Methods inherited from interface org.cometd.bayeux.Channel
getAttribute, getAttributeNames, getChannelId, getId, isBroadcast, isDeepWild, isMeta, isService, isWild, removeAttribute, setAttributeMethods inherited from interface org.cometd.bayeux.server.ConfigurableServerChannel
addAuthorizer, addListener, getAuthorizers, getLazyTimeout, getListeners, isBroadcastToPublisher, isLazy, isPersistent, removeAuthorizer, removeListener, setBroadcastToPublisher, setLazy, setLazyTimeout, setPersistent
-
Method Details
-
getSubscribers
Set<ServerSession> getSubscribers()- Returns:
- a snapshot of the set of subscribers of this channel
-
subscribe
Subscribes the given session to this channel.
Subscriptions are effective for
broadcast channelsand are successful no-operations forservice 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.
- Parameters:
session- the session to subscribe- Returns:
- whether the subscription succeeded
- See Also:
-
unsubscribe
Unsubscribes the given session from this channel.
Unsubscriptions are effective for
broadcast channelsand are successful no-operations forservice 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.
- Parameters:
session- the session to unsubscribe- Returns:
- whether the unsubscription succeeded
-
publish
void publish(org.cometd.bayeux.Session from, ServerMessage.Mutable message, org.cometd.bayeux.Promise<Boolean> promise) Publishes the given message to this channel, delivering the message to all the
ServerSessions subscribed to this channel.- Parameters:
from- the session from which the message originatesmessage- the message to publishpromise- the promise to notify whether the message has been published- See Also:
-
publish
void publish(org.cometd.bayeux.Session from, Object data, org.cometd.bayeux.Promise<Boolean> promise) Publishes the given information to this channel.
- Parameters:
from- the session from which the message originatesdata- the data of the messagepromise- the promise to notify whether the message has been published- See Also:
-
remove
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.ChannelListenerlisteners.
-