edu.wpi.first.wpilibj.vision

## Interface VisionRunner.Listener<P extends VisionPipeline>

- Type Parameters:
    `P` - the type of the pipeline this listener is for
  Enclosing class:
    VisionRunner<P extends VisionPipeline>
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public static interface VisionRunner.Listener<P extends VisionPipeline>

  Listener interface for a callback that should run after a pipeline has processed its input.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `copyPipelineOutputs(P pipeline)` Called when the pipeline has run.

- - ### Method Detail

    - #### copyPipelineOutputs

          void copyPipelineOutputs(P pipeline)

      Called when the pipeline has run. This shouldn't take much time to run because it will delay later calls to the pipeline's `process` method. Copying the outputs and code that uses the copies should be synchronized on the same mutex to prevent multiple threads from reading and writing to the same memory at the same time.
      Parameters:
        `pipeline` - the vision pipeline that ran