close method
Implementation
Future<void> close() async {
if (!closed_) {
if (closing_ == false) {
closing_ = true;
clearRefreshTimer();
if (pendingCount_ > 0) {
closingFuture_ = Completer<void>();
flush().then((_) {
closed_ = true;
closing_ = false;
closingFuture_!.complete();
logEvent(EventType.close, null);
}).catchError((exception) {
closed_ = true;
closing_ = false;
closingFuture_!.completeError(exception);
// event logger gets this error during publish
});
return closingFuture_!.future;
} else {
closed_ = true;
closing_ = false;
logEvent(EventType.close, null);
}
}
if (closingFuture_ != null) {
return closingFuture_!.future;
}
}
return Future.value();
}