setForcedTransport method
Setter method that can be used to disable/enable the Stream-Sense algorithm and to force the client to use a fixed transport or a fixed combination of a transport and a connection type.
When a combination is specified the
Stream-Sense algorithm is completely disabled.
The method can be used to switch between streaming and polling connection types and between
HTTP and WebSocket transports.
In some cases, the requested status may not be reached, because of connection or environment problems. In that case
the client will continuously attempt to reach the configured status.
Note that if the Stream-Sense algorithm is disabled, the client may still enter the "CONNECTED:STREAM-SENSING" status;
however, in that case, if it eventually finds out that streaming is not possible, no recovery will be tried.
Default null (full Stream-Sense enabled).
Lifecycle This method can be called at any time. If called while the client is connecting or connected it will instruct to switch connection type to match the given configuration.
Notification A change to this setting will be notified through a call to ClientListener.onPropertyChange with argument "forcedTransport" on any ClientListener listening to the related LightstreamerClient.
newVal
can be one of the following:
- null: the Stream-Sense algorithm is enabled and the client will automatically connect using the most appropriate transport and connection type among those made possible by the environment.
- "WS": the Stream-Sense algorithm is enabled as in the null case but the client will only use WebSocket based connections. If a connection over WebSocket is not possible because of the environment the client will not connect at all.
- "HTTP": the Stream-Sense algorithm is enabled as in the null case but the client will only use HTTP based connections. If a connection over HTTP is not possible because of the environment the client will not connect at all.
- "WS-STREAMING": the Stream-Sense algorithm is disabled and the client will only connect on Streaming over WebSocket. If Streaming over WebSocket is not possible because of the environment the client will not connect at all.
- "HTTP-STREAMING": the Stream-Sense algorithm is disabled and the client will only connect on Streaming over HTTP. If Streaming over HTTP is not possible because of the environment the client will not connect at all.
- "WS-POLLING": the Stream-Sense algorithm is disabled and the client will only connect on Polling over WebSocket. If Polling over WebSocket is not possible because of the environment the client will not connect at all.
- "HTTP-POLLING": the Stream-Sense algorithm is disabled and the client will only connect on Polling over HTTP. If Polling over HTTP is not possible because of the environment the client will not connect at all.
Throws IllegalArgumentException if the given value is not in the list of the admitted ones.
Implementation
Future<void> setForcedTransport(String? newVal) async {
_forcedTransport = newVal;
var arguments = <String, dynamic> {
'newVal': newVal
};
return await _invokeMethod('setForcedTransport', arguments);
}