// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.space;

type ErrorCode = strict enum : uint32 {
    INTERNAL = 1;
    /// The system is in the process of being updated, and the current system version has not yet
    /// been committed. GC is blocked to protect the blobs required by the previous system version.
    /// Consumers may use [`fuchsia.update/CommitStatusProvider.IsCurrentSystemCommitted`] to track
    /// when the commit completes.
    PENDING_COMMIT = 2;
};

@discoverable
closed protocol Manager {
    /// Trigger a garbage collection.
    strict Gc() -> () error ErrorCode;
};
