Class DynamicBarrierValue<Value>Internal

A channel that switches between two states

  • in the "priming" state it can't be read from.
    • if it receives a WaitForNames update, it switches to the "waiting" state.
  • in the "waiting" state it collects named values until all are received.
    • once all named values are received, it can be read once, and it switches back to the "priming" state.

Type Parameters

  • Value

Hierarchy (view full)

Constructors

Properties

UpdateType: Value | WaitForNames<Value>
ValueType: void
lc_graph_name: string

The name of the channel.

names?: Set<Value>
seen: Set<Value>

Methods

  • Return a string representation of the channel's current state.

    Returns [undefined | Value[], Value[]]

    Throws

    if the channel is empty (never updated yet), or doesn't support checkpoints.

  • Mark the current value of the channel as consumed. By default, no-op. This is called by Pregel before the start of the next step, for all channels that triggered a node. If the channel was updated, return true.

    Returns boolean

  • Return a new identical channel, optionally initialized from a checkpoint. Can be thought of as a "restoration" from a checkpoint which is a "snapshot" of the channel's state.

    Parameters

    • Optional checkpoint: [undefined | Value[], Value[]]

    Returns this

  • Return the current value of the channel.

    Returns void

    Throws

    if the channel is empty (never updated yet).

  • Update the channel's value with the given sequence of updates. The order of the updates in the sequence is arbitrary. This method is called by Pregel for all channels at the end of each step. If there are no updates, it is called with an empty sequence.

    Raises InvalidUpdateError if the sequence of updates is invalid. Returns True if the channel was updated, False otherwise.

    Parameters

    Returns boolean

    Throws

    if the sequence of updates is invalid.