dispose method
Drains host-owned resources. Repeated calls return the same future.
Implementation
Future<void> dispose({
Duration invocationTimeout = const Duration(seconds: 2),
Duration auditTimeout = const Duration(seconds: 2),
}) {
final Future<void>? existing = _disposeFuture;
if (existing != null) return existing;
return _disposeFuture = drainInvocations(
timeout: invocationTimeout,
).then((_) => drainAudit(timeout: auditTimeout)).then<void>((_) {});
}