Packages

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

Linear Supertypes
Serializable, Product, Equals, RedirectableErrors[F, [β$7$]ProcessGroupImplE[F, β$7$]], RedirectableInput[F, ProcessGroupImplI[F]], RedirectableOutput[F, [β$6$]ProcessGroupImplO[F, β$6$]], ProcessGroup[F, Unit, Unit], ProcessLike[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProcessGroupImpl
  2. Serializable
  3. Product
  4. Equals
  5. RedirectableErrors
  6. RedirectableInput
  7. RedirectableOutput
  8. ProcessGroup
  9. ProcessLike
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. 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

  1. 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
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. 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
  4. 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
  5. 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
  6. final def ##(): Int
    Definition Classes
    AnyRef → Any
  7. 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
  8. 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
  9. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  17. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  18. implicit val concurrent: Concurrent[F]
  19. 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
    ProcessGroupImplRedirectableErrors
  20. 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
    ProcessGroupImplRedirectableInput
  21. 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
    ProcessGroupImplRedirectableOutput
  22. 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
  23. 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
  24. 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
  25. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. 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
  27. 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
  28. 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
  29. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  30. val firstProcess: UnboundIEProcess[F, Stream[F, Byte]]
    Definition Classes
    ProcessGroupImplProcessGroup
  31. 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
  32. 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
  33. 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
  34. def fromStream(stream: Stream[F, Byte], flushChunks: Boolean): ProcessGroupImplI[F]

    Feed the process input from a byte stream.

    Feed the process input from a byte stream.

    An alias for < and !<.

    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
  35. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  36. val innerProcesses: List[UnboundIEProcess[F, Stream[F, Byte]]]
    Definition Classes
    ProcessGroupImplProcessGroup
  37. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  38. val lastProcess: UnboundProcess[F]
    Definition Classes
    ProcessGroupImplProcessGroup
  39. 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
    ProcessGroupImplProcessGroup
  40. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  41. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  42. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  43. val originalProcesses: List[Process[F, Unit, Unit]]
    Definition Classes
    ProcessGroupImplProcessGroup
  44. def pipeInto(other: UnboundProcess[F], channel: Pipe[F, Byte, Byte]): ProcessGroupImpl[F]
  45. def productElementNames: Iterator[String]
    Definition Classes
    Product
  46. 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
  47. 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
  48. 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
  49. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  50. 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
  51. 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
  52. 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
  53. 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
  54. def via(channel: Pipe[F, Byte, Byte]): PipeBuilderSyntax[F, ProcessGroupImpl[F]]
  55. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. def |(other: UnboundProcess[F]): ProcessGroupImpl[F]

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from RedirectableErrors[F, [β$7$]ProcessGroupImplE[F, β$7$]]

Inherited from RedirectableInput[F, ProcessGroupImplI[F]]

Inherited from RedirectableOutput[F, [β$6$]ProcessGroupImplO[F, β$6$]]

Inherited from ProcessGroup[F, Unit, Unit]

Inherited from ProcessLike[F]

Inherited from AnyRef

Inherited from Any

Ungrouped