Package edu.wpi.grip.core
Class PipelineRunner
- java.lang.Object
-
- edu.wpi.grip.core.PipelineRunner
-
- All Implemented Interfaces:
com.google.common.util.concurrent.Service,RestartableService
public class PipelineRunner extends java.lang.Object implements RestartableService
Runs the pipeline in a separate thread. The runner listens forRunPipelineEventsand releases the pipeline thread to update the sources and run the steps.
-
-
Field Summary
-
Fields inherited from interface edu.wpi.grip.core.util.service.RestartableService
VALID_START_STATES
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(com.google.common.util.concurrent.Service.Listener listener, java.util.concurrent.Executor executor)voidawaitRunning()voidawaitRunning(long timeout, java.util.concurrent.TimeUnit unit)voidawaitTerminated()voidawaitTerminated(long timeout, java.util.concurrent.TimeUnit unit)java.lang.ThrowablefailureCause()booleanisRunning()voidonBenchmarkEvent(BenchmarkEvent event)voidonRunPipeline(RunPipelineEvent event)voidonStopPipeline(StopPipelineEvent event)PipelineRunnerstartAsync()Starts the pipeline to run at the default rate.com.google.common.util.concurrent.Service.Statestate()voidstopAndAwait()voidstopAndAwait(long timeout, java.util.concurrent.TimeUnit unit)PipelineRunnerstopAsync()Stops the service.
-
-
-
Method Detail
-
startAsync
public PipelineRunner startAsync()
Starts the pipeline to run at the default rate.- Specified by:
startAsyncin interfaceRestartableService- Specified by:
startAsyncin interfacecom.google.common.util.concurrent.Service- Returns:
- this
-
isRunning
public boolean isRunning()
- Specified by:
isRunningin interfacecom.google.common.util.concurrent.Service
-
state
public com.google.common.util.concurrent.Service.State state()
- Specified by:
statein interfacecom.google.common.util.concurrent.Service
-
stopAsync
public PipelineRunner stopAsync()
Description copied from interface:RestartableServiceStops the service.- Specified by:
stopAsyncin interfaceRestartableService- Specified by:
stopAsyncin interfacecom.google.common.util.concurrent.Service- Returns:
- this
-
stopAndAwait
public void stopAndAwait()
- Specified by:
stopAndAwaitin interfaceRestartableService
-
stopAndAwait
public void stopAndAwait(long timeout, java.util.concurrent.TimeUnit unit) throws java.util.concurrent.TimeoutException- Specified by:
stopAndAwaitin interfaceRestartableService- Throws:
java.util.concurrent.TimeoutException
-
awaitRunning
public void awaitRunning()
- Specified by:
awaitRunningin interfacecom.google.common.util.concurrent.Service
-
awaitRunning
public void awaitRunning(long timeout, java.util.concurrent.TimeUnit unit) throws java.util.concurrent.TimeoutException- Specified by:
awaitRunningin interfacecom.google.common.util.concurrent.Service- Throws:
java.util.concurrent.TimeoutException
-
awaitTerminated
public void awaitTerminated()
- Specified by:
awaitTerminatedin interfacecom.google.common.util.concurrent.Service
-
awaitTerminated
public void awaitTerminated(long timeout, java.util.concurrent.TimeUnit unit) throws java.util.concurrent.TimeoutException- Specified by:
awaitTerminatedin interfacecom.google.common.util.concurrent.Service- Throws:
java.util.concurrent.TimeoutException
-
failureCause
public java.lang.Throwable failureCause()
- Specified by:
failureCausein interfacecom.google.common.util.concurrent.Service
-
addListener
public void addListener(com.google.common.util.concurrent.Service.Listener listener, java.util.concurrent.Executor executor)- Specified by:
addListenerin interfacecom.google.common.util.concurrent.Service
-
onRunPipeline
public void onRunPipeline(RunPipelineEvent event)
-
onStopPipeline
public void onStopPipeline(@Nullable StopPipelineEvent event)
-
onBenchmarkEvent
public void onBenchmarkEvent(BenchmarkEvent event)
-
-