LspClientManager constructor
LspClientManager({
- required ExecutionEnv env,
- required LspConfig config,
- required LspTransportFactory transportFactory,
- int? processId,
- Duration requestTimeout = defaultLspRequestTimeout,
- Duration initTimeout = defaultLspRequestTimeout,
- Duration? idleTimeout,
- Duration idleCheckInterval = const Duration(minutes: 1),
- int maxRestarts = 3,
- Duration initFailureBackoff = const Duration(minutes: 3),
- Duration crashWindow = const Duration(seconds: 10),
Creates an LspClientManager. idleTimeout defaults to
LspConfig.idleTimeout; Duration.zero disables the sweep.
Implementation
LspClientManager({
required this.env,
required this.config,
required this.transportFactory,
this.processId,
this.requestTimeout = defaultLspRequestTimeout,
this.initTimeout = defaultLspRequestTimeout,
Duration? idleTimeout,
this.idleCheckInterval = const Duration(minutes: 1),
this.maxRestarts = 3,
this.initFailureBackoff = const Duration(minutes: 3),
this.crashWindow = const Duration(seconds: 10),
}) : idleTimeout = idleTimeout ?? config.idleTimeout {
if (this.idleTimeout > Duration.zero) {
_idleTimer = Timer.periodic(idleCheckInterval, (_) => checkIdle());
}
}