componentized/directory

componentized:filesystem-latch-n4

component dev

Fileystem latch that aggregates four other filesystem latches.

Imports

Exports

WIT

package root:component;

world root {
  import wasi:clocks/system-clock@0.3.0;
  import wasi:filesystem/types@0.3.0;
  /// Access control for `wasi:filesystem`.
  ///
  /// A gate consults a latch before performing each filesystem operation. The latch either defers,
  /// raising no objection, or denies the operation. A latch never grants an operation, an
  /// operation proceeds when the latch defers. Several latches can be aggregated into one, the
  /// operation is denied when any of them denies it.
  ///
  /// Deciding and acting on a decision are separate steps. `authorize` decides without side
  /// effects, then the gate reports the final decision to `observe-decision`, where a latch updates
  /// any state it keeps. A latch aggregated with others may not be asked to authorize an operation
  /// another latch already denied, but it always observes the final decision.
  import latch0: componentized:filesystem/latch@0.3.0-dev;
  /// Access control for `wasi:filesystem`.
  ///
  /// A gate consults a latch before performing each filesystem operation. The latch either defers,
  /// raising no objection, or denies the operation. A latch never grants an operation, an
  /// operation proceeds when the latch defers. Several latches can be aggregated into one, the
  /// operation is denied when any of them denies it.
  ///
  /// Deciding and acting on a decision are separate steps. `authorize` decides without side
  /// effects, then the gate reports the final decision to `observe-decision`, where a latch updates
  /// any state it keeps. A latch aggregated with others may not be asked to authorize an operation
  /// another latch already denied, but it always observes the final decision.
  import latch1: componentized:filesystem/latch@0.3.0-dev;
  /// Access control for `wasi:filesystem`.
  ///
  /// A gate consults a latch before performing each filesystem operation. The latch either defers,
  /// raising no objection, or denies the operation. A latch never grants an operation, an
  /// operation proceeds when the latch defers. Several latches can be aggregated into one, the
  /// operation is denied when any of them denies it.
  ///
  /// Deciding and acting on a decision are separate steps. `authorize` decides without side
  /// effects, then the gate reports the final decision to `observe-decision`, where a latch updates
  /// any state it keeps. A latch aggregated with others may not be asked to authorize an operation
  /// another latch already denied, but it always observes the final decision.
  import latch2: componentized:filesystem/latch@0.3.0-dev;
  /// Access control for `wasi:filesystem`.
  ///
  /// A gate consults a latch before performing each filesystem operation. The latch either defers,
  /// raising no objection, or denies the operation. A latch never grants an operation, an
  /// operation proceeds when the latch defers. Several latches can be aggregated into one, the
  /// operation is denied when any of them denies it.
  ///
  /// Deciding and acting on a decision are separate steps. `authorize` decides without side
  /// effects, then the gate reports the final decision to `observe-decision`, where a latch updates
  /// any state it keeps. A latch aggregated with others may not be asked to authorize an operation
  /// another latch already denied, but it always observes the final decision.
  import latch3: componentized:filesystem/latch@0.3.0-dev;

  export componentized:filesystem/latch@0.3.0-dev;
}