close static method
Implementation
static AsyncReply<bool> close() {
var bag = new AsyncBag<bool>();
for (var resource in _resources.values)
if (!(resource is IStore))
bag.add(resource.trigger(ResourceTrigger.Terminate));
for (var s in _stores) bag.add(s.trigger(ResourceTrigger.Terminate));
for (var resource in _resources.values)
if (!(resource is IStore))
bag.add(resource.trigger(ResourceTrigger.SystemTerminated));
for (var store in _stores)
bag.add(store.trigger(ResourceTrigger.SystemTerminated));
bag.seal();
var rt = new AsyncReply<bool>();
bag.then((x) {
for (var b in x)
if (b == null || b == false) {
rt.trigger(false);
return;
}
rt.trigger(true);
});
return rt;
}