Class ExternalProcessExecutor.WorkerChannel
java.lang.Object
org.ojalgo.concurrent.ExternalProcessExecutor.WorkerChannel
- Enclosing class:
ExternalProcessExecutor
A per-thread, persistent channel to a child JVM. Not thread-safe; each instance must only be used from
its owning thread. Kills and restarts the underlying process on demand.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate InputStreamprivate final ExternalProcessExecutor.RingBufferOutputprivate Threadprivate InputStreamprivate final ProcessOptionsprivate final Threadprivate Processprivate OutputStreamprivate static final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateWorkerChannel(ProcessOptions options, Thread owner, Process proc, OutputStream toChild, InputStream fromChild, InputStream err, Thread errDrainer, ExternalProcessExecutor.RingBufferOutput errBuffer) -
Method Summary
Modifier and TypeMethodDescriptionprivate static voiddestroyProcessTree(Process proc) (package private) String(package private) booleanisAlive()(package private) voidkill()(package private) ProcessOptionsoptions()(package private) static ExternalProcessExecutor.WorkerChannelstart(ProcessOptions options) (package private) ExternalProcessExecutor.ProcessResponsetransact(ExternalProcessExecutor.ProcessRequest req, Duration timeout)
-
Field Details
-
STDERR_MAX_BYTES
private static final int STDERR_MAX_BYTES- See Also:
-
myChildErr
-
myErrBuffer
-
myErrDrainer
-
myFromChild
-
myOptions
-
myOwnerThread
-
myProcess
-
myToChild
-
-
Constructor Details
-
WorkerChannel
private WorkerChannel(ProcessOptions options, Thread owner, Process proc, OutputStream toChild, InputStream fromChild, InputStream err, Thread errDrainer, ExternalProcessExecutor.RingBufferOutput errBuffer)
-
-
Method Details
-
destroyProcessTree
-
start
- Throws:
Exception
-
getCapturedStderr
String getCapturedStderr() -
isAlive
boolean isAlive() -
kill
void kill() -
options
ProcessOptions options() -
transact
ExternalProcessExecutor.ProcessResponse transact(ExternalProcessExecutor.ProcessRequest req, Duration timeout) throws Exception - Throws:
Exception
-