case class ProcessGroupImpl[F[_]](firstProcess: UnboundIEProcess[F, Stream[F, Byte]], innerProcesses: List[UnboundIEProcess[F, Stream[F, Byte]]], lastProcess: UnboundProcess[F], originalProcesses: List[Process[F, Unit, Unit]])(implicit concurrent: Concurrent[F]) extends ProcessGroup[F, Unit, Unit] with RedirectableOutput[F, [β$6$]ProcessGroupImplO[F, β$6$]] with RedirectableInput[F, ProcessGroupImplI[F]] with RedirectableErrors[F, [β$7$]ProcessGroupImplE[F, β$7$]] with Product with Serializable
Process group with unbound input, output and error streams
- Alphabetic
- By Inheritance
- ProcessGroupImpl
- Serializable
- Serializable
- Product
- Equals
- RedirectableErrors
- RedirectableInput
- RedirectableOutput
- ProcessGroup
- ProcessLike
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ProcessGroupImpl(firstProcess: UnboundIEProcess[F, Stream[F, Byte]], innerProcesses: List[UnboundIEProcess[F, Stream[F, Byte]]], lastProcess: UnboundProcess[F], originalProcesses: List[Process[F, Unit, Unit]])(implicit concurrent: Concurrent[F])
Value Members
-
def
!<(stream: Stream[F, Byte]): ProcessGroupImplI[F]
Feed the process input from a byte stream with flushing per chunks enabled.
Feed the process input from a byte stream with flushing per chunks enabled.
An alias for fromStream.
- stream
Input stream
- returns
A new process or process group with the input redirected and the input redirection capability removed.
- Definition Classes
- RedirectableInput
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
!>(sink: Pipe[F, Byte, Unit]): ProcessGroupImplE[F, Unit]
Redirects the error outputs to a sink.
Redirects the error outputs to a sink.
The process error output type will be Unit. An alias for errorsToSink
- sink
Target sink
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
!>#[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessGroupImplE[F, O]
Redirects the error outputs to a pipe and folds its output with a monoid instance.
Redirects the error outputs to a pipe and folds its output with a monoid instance.
The process error output type will be the same as the pipe's output type. An alias for errorsToFoldMonoid
- O
Output type of the pipe. Must have a monoid instance.
- pipe
Target pipe
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
!>?[O](pipe: Pipe[F, Byte, O]): ProcessGroupImplE[F, Vector[O]]
Redirects the error outputs to a pipe and collects its output to a vector
Redirects the error outputs to a pipe and collects its output to a vector
The process error output type will be a vector of the pipe's output type. An alias for errorsToVector
- O
Output type of the pipe
- pipe
Target pipe
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
<(stream: Stream[F, Byte]): ProcessGroupImplI[F]
Feed the process input from a byte stream.
Feed the process input from a byte stream.
An alias for fromStream.
- stream
Input stream
- returns
A new process or process group with the input redirected and the input redirection capability removed.
- Definition Classes
- RedirectableInput
-
def
<(path: Path): ProcessGroupImplI[F]
Feed the process input from a file natively.
Feed the process input from a file natively.
An alias for fromFile.
- path
Path to the file
- returns
A new process or process group with the input redirected and the input redirection capability removed.
- Definition Classes
- RedirectableInput
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
>(path: Path): ProcessGroupImplO[F, Unit]
Redirects the output to a file natively
Redirects the output to a file natively
An alias for toFile
- path
Target file path
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
>(sink: Pipe[F, Byte, Unit]): ProcessGroupImplO[F, Unit]
Redirects the output to a sink.
Redirects the output to a sink.
The process output type will be Unit. An alias for toSink
- sink
Target sink
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
>#[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessGroupImplO[F, O]
Redirects the output to a pipe and folds its output with a monoid instance.
Redirects the output to a pipe and folds its output with a monoid instance.
The process output type will be the same as the pipe's output type. An alias for toFoldMonoid
- O
Output type of the pipe. Must have a monoid instance.
- pipe
Target pipe
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
>>(path: Path): ProcessGroupImplO[F, Unit]
Redirects the output to a file natively in append mode
Redirects the output to a file natively in append mode
An alias for appendToFile
- path
Target file path
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
>?[O](pipe: Pipe[F, Byte, O]): ProcessGroupImplO[F, Vector[O]]
Redirects the output to a pipe and collects its output to a vector
Redirects the output to a pipe and collects its output to a vector
The process output type will be a vector of the pipe's output type. An alias for toVector
- O
Output type of the pipe
- pipe
Target pipe
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
appendToFile(path: Path): ProcessGroupImplO[F, Unit]
Redirects the output to a file natively in append mode
Redirects the output to a file natively in append mode
An alias for >>
- path
Target file path
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
implicit
val
concurrent: Concurrent[F]
- Definition Classes
- ProcessGroupImpl → RedirectableErrors → RedirectableOutput → ProcessGroup
-
def
connectErrors[R <: GroupErrorRedirection[F], OR <: OutputRedirection[F], E](target: R)(implicit groupErrorRedirectionType: Aux[F, R, OR, E], outputRedirectionType: Aux[F, OR, E]): ProcessGroupImplE[F, E]
The low level operation to attach an error output to all the processes in the group.
The low level operation to attach an error output to all the processes in the group.
Use one of the other methods of this trait or the advanced interface represented by customizedPerProcess for convenience.
This is the place where the process group's error output type gets calculated using the GroupErrorRedirectionType and OutputRedirectionType type classes.
- R
Error output grouped redirection type
- OR
Error output redirection type
- E
Error output type
- target
Redirection target
- groupErrorRedirectionType
Helper for dependent error output type
- outputRedirectionType
Helper for dependent error output type
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- ProcessGroupImpl → RedirectableErrors
-
def
connectInput(source: InputRedirection[F]): ProcessGroupImplI[F]
The low level method to attach an input to a process or process group.
The low level method to attach an input to a process or process group.
Use the other methods in this trait for convenience.
- source
Redirection source
- returns
A new process or process group with the input redirected and the input redirection capability removed.
- Definition Classes
- ProcessGroupImpl → RedirectableInput
-
def
connectOutput[R <: OutputRedirection[F], RO](target: R)(implicit outputRedirectionType: Aux[F, R, RO]): ProcessGroupImplO[F, RO]
The low level operation to attach an output to a process
The low level operation to attach an output to a process
Use one of the other methods of this trait for convenience. This is the place where the output type gets calculated with a helper type class called OutputRedirectionType which implements the type level computation for figuring out O.
- R
Output redirection type
- target
Redirection target
- outputRedirectionType
Helper for dependent output type
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- ProcessGroupImpl → RedirectableOutput
-
lazy val
customizedPerProcess: CustomizedPerProcess[F, [β$7$]ProcessGroupImplE[F, β$7$]]
A more advanced interface for customizing the redirection per process
A more advanced interface for customizing the redirection per process
- Definition Classes
- RedirectableErrors
-
def
drainErrors[O](pipe: Pipe[F, Byte, O]): ProcessGroupImplE[F, Unit]
Redirects the error outputs to a pipe and drains it regardless of its output type.
Redirects the error outputs to a pipe and drains it regardless of its output type.
The process error output type will be Unit.
- O
Output type of the pipe
- pipe
Target pipe
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
drainOutput[O](pipe: Pipe[F, Byte, O]): ProcessGroupImplO[F, Unit]
Redirects the output to a pipe and drains it regardless of its output type.
Redirects the output to a pipe and drains it regardless of its output type.
The process output type will be Unit.
- O
Output type of the pipe
- pipe
Target pipe
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
errorsToFoldMonoid[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessGroupImplE[F, O]
Redirects the error outputs to a pipe and folds its output with a monoid instance.
Redirects the error outputs to a pipe and folds its output with a monoid instance.
The process error output type will be the same as the pipe's output type. An alias for !>#
- O
Output type of the pipe. Must have a monoid instance.
- pipe
Target pipe
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
errorsToSink(sink: Pipe[F, Byte, Unit]): ProcessGroupImplE[F, Unit]
Redirects the error outputs to a sink.
Redirects the error outputs to a sink.
The process error output type will be Unit. An alias for !>
- sink
Target sink
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
errorsToVector[O](pipe: Pipe[F, Byte, O]): ProcessGroupImplE[F, Vector[O]]
Redirects the error outputs to a pipe and collects its output to a vector
Redirects the error outputs to a pipe and collects its output to a vector
The process error output type will be a vector of the pipe's output type. An alias for !>?
- O
Output type of the pipe
- pipe
Target pipe
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
val
firstProcess: UnboundIEProcess[F, Stream[F, Byte]]
- Definition Classes
- ProcessGroupImpl → ProcessGroup
-
def
foldErrors[O, R](pipe: Pipe[F, Byte, O], init: R, fn: (R, O) ⇒ R): ProcessGroupImplE[F, R]
Redirects the error outputs to a pipe and folds it with a custom function.
Redirects the error outputs to a pipe and folds it with a custom function.
The process error output type will be R.
- O
Output type of the pipe
- R
Result type of the fold
- pipe
Target pipe
- init
The initial value for the fold
- fn
The fold function
- returns
Returns a new process group with all the error streams redirected and the error redirection capability removed.
- Definition Classes
- RedirectableErrors
-
def
foldOutput[O, R](pipe: Pipe[F, Byte, O], init: R, fn: (R, O) ⇒ R): ProcessGroupImplO[F, R]
Redirects the output to a pipe and folds it with a custom function.
Redirects the output to a pipe and folds it with a custom function.
The process output type will be R.
- O
Output type of the pipe
- R
Result type of the fold
- pipe
Target pipe
- init
The initial value for the fold
- fn
The fold function
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
fromFile(path: Path): ProcessGroupImplI[F]
Feed the process input from a file natively.
Feed the process input from a file natively.
An alias for <.
- path
Path to the file
- returns
A new process or process group with the input redirected and the input redirection capability removed.
- Definition Classes
- RedirectableInput
-
def
fromStream(stream: Stream[F, Byte], flushChunks: Boolean): ProcessGroupImplI[F]
Feed the process input from a byte stream.
- stream
Input stream
- flushChunks
Flush the process input stream after each chunk
- returns
A new process or process group with the input redirected and the input redirection capability removed.
- Definition Classes
- RedirectableInput
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
innerProcesses: List[UnboundIEProcess[F, Stream[F, Byte]]]
- Definition Classes
- ProcessGroupImpl → ProcessGroup
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
lastProcess: UnboundProcess[F]
- Definition Classes
- ProcessGroupImpl → ProcessGroup
-
def
map(f: Mapper[F, Unit, Unit]): ProcessGroupImpl[F]
Applies the given mapper to each process in the group
Applies the given mapper to each process in the group
- f
process mapper
- returns
a new process group with all the processes altered by the mapper
- Definition Classes
- ProcessGroupImpl → ProcessGroup
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
originalProcesses: List[Process[F, Unit, Unit]]
- Definition Classes
- ProcessGroupImpl → ProcessGroup
- def pipeInto(other: UnboundProcess[F], channel: Pipe[F, Byte, Byte]): ProcessGroupImpl[F]
-
def
run(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[ProcessGroupResult[F, Unit, Unit]]
Starts the process group asynchronously and blocks the execution until it is finished
Starts the process group asynchronously and blocks the execution until it is finished
- blocker
Execution context for blocking operations
- runner
The process runner to be used
- returns
the result of the finished processes
- Definition Classes
- ProcessGroup
-
def
start(blocker: Blocker)(implicit runner: ProcessRunner[F]): Resource[F, Fiber[F, ProcessGroupResult[F, Unit, Unit]]]
Starts the process group asynchronously and returns a closeable fiber representing it
Starts the process group asynchronously and returns a closeable fiber representing it
Joining the fiber waits for the processes to be terminated. Canceling the fiber terminates the processesnormally (with SIGTERM).
- blocker
Execution context for blocking operations
- runner
The process runner to be used
- returns
a managed fiber representing the running processes
- Definition Classes
- ProcessGroup
-
def
startProcessGroup(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[RunningProcessGroup[F, Unit, Unit]]
Starts the process group asynchronously and returns the RunningProcessGroup interface for it
Starts the process group asynchronously and returns the RunningProcessGroup interface for it
This is the most advanced way to start process groups. See start and run as alternatives.
- blocker
Execution context for blocking operations
- runner
The process runner to be used
- returns
interface for handling the running process group
- Definition Classes
- ProcessGroup
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toFile(path: Path): ProcessGroupImplO[F, Unit]
Redirects the output to a file natively
Redirects the output to a file natively
An alias for >
- path
Target file path
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
toFoldMonoid[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessGroupImplO[F, O]
Redirects the output to a pipe and folds its output with a monoid instance.
Redirects the output to a pipe and folds its output with a monoid instance.
The process output type will be the same as the pipe's output type. An alias for >#
- O
Output type of the pipe. Must have a monoid instance.
- pipe
Target pipe
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
toSink(sink: Pipe[F, Byte, Unit]): ProcessGroupImplO[F, Unit]
Redirects the output to a sink.
Redirects the output to a sink.
The process output type will be Unit. An alias for >
- sink
Target sink
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
-
def
toVector[O](pipe: Pipe[F, Byte, O]): ProcessGroupImplO[F, Vector[O]]
Redirects the output to a pipe and collects its output to a vector
Redirects the output to a pipe and collects its output to a vector
The process output type will be a vector of the pipe's output type. An alias for >?
- O
Output type of the pipe
- pipe
Target pipe
- returns
Returns a new process or process group with its output redirected and its output redirection capability removed.
- Definition Classes
- RedirectableOutput
- def via(channel: Pipe[F, Byte, Byte]): PipeBuilderSyntax[F, ProcessGroupImpl[F]]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def |(other: UnboundProcess[F]): ProcessGroupImpl[F]