- All Known Subinterfaces:
ServerTransport
- All Known Implementing Classes:
AbstractHttpClientTransport
,AbstractHttpTransport
,AbstractServerTransport
,AbstractTransport
,AbstractWebSocketTransport
,AbstractWebSocketTransport
,ClientTransport
,HttpClientTransport
,JettyHttpClientTransport
,JettyWebSocketTransport
,JettyWebSocketTransport
,JSONHttpTransport
,JSONPHttpTransport
,OkHttpClientTransport
,OkHttpWebSocketTransport
,WebSocketTransport
,WebSocketTransport
A transport abstract the details of the protocol used to send Bayeux messages over the network, for example using HTTP or using WebSocket.
Transport
s have well known names and both a Bayeux client
and a Bayeux server can negotiate the transport they want to use by
exchanging the list of supported transport names.
Transports can be configured using options. The transport
implementation provides a set of option names
that
it uses to configure itself and an option prefix
that allows specific tuning of the configuration.
Option prefixes may be composed of segments separated by the "." character.
For example, imagine to configure the transports for normal long polling, for JSONP long polling and for WebSocket. All provide a common option name called "timeout" and the JSONP long polling transport provides also a specific option name called "callback". The normal long polling transport has prefix "long-polling.json", the JSONP long polling transport has prefix "long-polling.jsonp" and the WebSocket long polling transport has prefix "ws". The first two prefixes have 2 segments.
The configurator will asks the transports the set of option names, obtaining ["timeout", "callback"]; then will ask each transport its prefix, obtaining ["long-polling.json", "long-polling.jsonp"]. The configurator can now look in the configuration (for example a properties file or servlet init parameters) for entries that combine the option names and option prefix segments, such as:
- "timeout": specifies the timeout for all transports
- "long-polling.timeout": specifies the timeout for both normal long polling transport and JSONP long polling transport, but not for the WebSocket transport
- "long-polling.jsonp.timeout": specifies the timeout for JSONP long polling transport overriding more generic entries
- "ws.timeout": specifies the timeout for WebSocket transport overriding more generic entries
- "long-polling.jsonp.callback": specifies the "callback" parameter for the JSONP long polling transport.
-
Method Summary
Modifier and TypeMethodDescriptiongetName()
Specifies an option prefix made of string segments separated by the "."
-
Method Details
-
getName
String getName()- Returns:
- The well known name of this transport, used in transport negotiations
- See Also:
-
getOption
-
getOptionNames
-
getOptionPrefix
String getOptionPrefix()Specifies an option prefix made of string segments separated by the "." character, used to override more generic configuration entries.- Returns:
- the option prefix for this transport.
-