LspClientManager constructor

LspClientManager({
  1. required ExecutionEnv env,
  2. required LspConfig config,
  3. required LspTransportFactory transportFactory,
  4. int? processId,
  5. Duration requestTimeout = defaultLspRequestTimeout,
  6. Duration initTimeout = defaultLspRequestTimeout,
  7. Duration? idleTimeout,
  8. Duration idleCheckInterval = const Duration(minutes: 1),
  9. int maxRestarts = 3,
  10. Duration initFailureBackoff = const Duration(minutes: 3),
  11. 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());
  }
}