Class EventDrivenUpdateGraph

java.lang.Object
io.deephaven.engine.updategraph.impl.BaseUpdateGraph
io.deephaven.engine.updategraph.impl.EventDrivenUpdateGraph
All Implemented Interfaces:
LogOutputAppendable, NotificationQueue, NotificationQueue.Dependency, UpdateGraph, UpdateSourceRegistrar

public class EventDrivenUpdateGraph extends BaseUpdateGraph
An EventDrivenUpdateGraph provides an isolated refresh processor.

As with a PeriodicUpdateGraph, the EventDrivenUpdateGraph contains a set of sources, but it is refreshed only when a call to requestRefresh() is made. All sources are synchronously refreshed on that thread, and then the resultant notifications are also synchronously processed.

  • Method Details

    • newBuilder

      public static EventDrivenUpdateGraph.Builder newBuilder(String name)
      Create a builder for an EventDrivenUpdateGraph with the given name.
      Parameters:
      name - the name of the new EventDrivenUpdateGraph
      Returns:
      a builder for the EventDrivenUpdateGraph
    • append

      public LogOutput append(@NotNull @NotNull LogOutput logOutput)
    • parallelismFactor

      public int parallelismFactor()
      Description copied from interface: UpdateGraph
      Retrieve the number of independent update propagation tasks this UpdateGraph can process concurrently.

      For example, an implementation using a fixed-size thread pool of update task workers should return the size of the thread pool.

      This is exposed in order to allow users to determine the ideal way to partition their queries for maximum parallelism without undue overhead.

      Returns:
      number of independent update propagation tasks this UpdateGraph can process concurrently
    • requestRefresh

      public void requestRefresh()
      Refresh all sources and execute the resulting notifications synchronously on this thread.
    • stop

      public void stop()
      Description copied from interface: UpdateGraph
      Attempt to stop this update graph, and cease processing further notifications.