trait Prox extends ProxRuntime with CommonModule with ProcessModule with ProcessGroupModule with RedirectionModule with ProcessRunnerModule with SyntaxModule
- Alphabetic
- By Inheritance
- Prox
- SyntaxModule
- ProcessRunnerModule
- RedirectionModule
- ProcessGroupModule
- ProcessModule
- CommonModule
- ProxRuntime
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
ProcessLikeConfiguration extends AnyRef
- Definition Classes
- CommonModule
-
trait
ProcessGroup[O, E] extends ProcessLike with Prox.ProcessGroupConfiguration[O, E]
Process group is two or more processes attached to each other
Process group is two or more processes attached to each other
This implements a pipeline of processes. The input of the first process and the output of the last process is redirectable with the RedirectableInput and RedirectableOutput traits. The processes are attached to each other's input/output streams, the pipe between them is customizable.
The error streams are also redirectable with the RedirectableErrors trait.
- O
Output type
- E
Error output type
- Definition Classes
- ProcessGroupModule
-
trait
ProcessGroupConfiguration[O, E] extends Prox.ProcessLikeConfiguration
- Definition Classes
- ProcessGroupModule
-
trait
ProcessGroupResult[+O, +E] extends AnyRef
Result of an executed process group
Result of an executed process group
- O
Output type
- E
Error output type
- Definition Classes
- ProcessGroupModule
-
trait
RunningProcessGroup[O, E, +Info] extends AnyRef
Representation of a running process group
Representation of a running process group
- O
Output type
- E
Error output type
- Info
Runner-specific per-process information type
- Definition Classes
- ProcessGroupModule
-
case class
SimpleProcessGroupResult[+O, +E](exitCodes: Map[Prox.Process[Unit, Unit], Prox.ProxExitCode], output: O, errors: Map[Prox.Process[Unit, Unit], E]) extends Prox.ProcessGroupResult[O, E] with Product with Serializable
Default implementation of ProcessGroupResult
Default implementation of ProcessGroupResult
- Definition Classes
- ProcessGroupModule
-
trait
Process[O, E] extends ProcessLike with Prox.ProcessConfiguration
Describes a system process to be executed
Describes a system process to be executed
This base trait is always extended with redirection and configuration capabilities represented by the traits ProcessConfiguration, RedirectableInput, RedirectableOutput and RedirectableError.
To create a process use the constructor in the companion object Process.apply.
The process specification not only encodes the process to be started but also how its input, output and error streams are redirected and executed. For this reason the effect type is also bound by the process, not just at execution time.
- O
Output type
- E
Error output type
- Definition Classes
- ProcessModule
-
trait
ProcessConfiguration extends Prox.ProcessLikeConfiguration
The capability to configure process execution details
The capability to configure process execution details
- Definition Classes
- ProcessModule
-
trait
ProcessResult[+O, +E] extends AnyRef
Result of a finished process
-
trait
RunningProcess[O, E, +Info] extends AnyRef
Representation of a running process
Representation of a running process
- O
Output type
- E
Error output type
- Info
Runner-specific process information
- Definition Classes
- ProcessModule
-
case class
SimpleProcessResult[+O, +E](exitCode: Prox.ProxExitCode, output: O, error: E) extends Prox.ProcessResult[O, E] with Product with Serializable
Default implementation of ProcessResult
Default implementation of ProcessResult
- Definition Classes
- ProcessModule
-
class
JVMProcessInfo extends AnyRef
- Definition Classes
- ProcessRunnerModule
-
class
JVMProcessRunner extends Prox.JVMProcessRunnerBase[Prox.JVMProcessInfo]
- Definition Classes
- ProcessRunnerModule
-
abstract
class
JVMProcessRunnerBase[Info <: Prox.JVMProcessInfo] extends Prox.ProcessRunner[Info]
Default implementation of ProcessRunner using the Java process API
Default implementation of ProcessRunner using the Java process API
- Definition Classes
- ProcessRunnerModule
-
class
JVMRunningProcess[O, E, +Info <: Prox.JVMProcessInfo] extends Prox.RunningProcess[O, E, Info]
Default implementation of RunningProcess using the Java process API
Default implementation of RunningProcess using the Java process API
- Definition Classes
- ProcessRunnerModule
-
class
JVMRunningProcessGroup[O, E, +Info <: Prox.JVMProcessInfo] extends Prox.RunningProcessGroup[O, E, Info]
Default implementation of RunningProcessGroup using the Java process API
Default implementation of RunningProcessGroup using the Java process API
- Definition Classes
- ProcessRunnerModule
-
trait
ProcessRunner[Info] extends AnyRef
Interface for running processes and process groups
Interface for running processes and process groups
The default implementation is JVMProcessRunner
- Info
The type of information provided for a started process
- Definition Classes
- ProcessRunnerModule
-
abstract
type
ProxExitCode
- Definition Classes
- ProxRuntime
-
abstract
type
ProxFiber[_]
- Definition Classes
- ProxRuntime
-
abstract
type
ProxIO[_]
- Definition Classes
- ProxRuntime
-
abstract
type
ProxMonoid[_]
- Definition Classes
- ProxRuntime
-
abstract
type
ProxPipe[_, _]
- Definition Classes
- ProxRuntime
-
abstract
type
ProxResource[_]
- Definition Classes
- ProxRuntime
-
abstract
type
ProxSink[_]
- Definition Classes
- ProxRuntime
-
abstract
type
ProxStream[_]
- Definition Classes
- ProxRuntime
-
implicit
class
FiberOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
implicit
class
IOOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
implicit
class
ListProxErrorOps extends AnyRef
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
implicit
class
MonoidStreamOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
implicit
class
ResourceOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
implicit
class
StreamOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
case class
AllCapturedThroughPipe[O, OR](pipeFn: (Prox.Process[_, _]) ⇒ Prox.ProxPipe[Byte, O], runner: (Prox.ProxStream[O]) ⇒ Prox.ProxIO[OR], chunkSize: Int = 8192) extends Prox.GroupErrorRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
case class
AllCapturedToSink(sinkFn: (Prox.Process[_, _]) ⇒ Prox.ProxSink[Byte], chunkSize: Int = 8192) extends Prox.GroupErrorRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
case class
AllToFile(pathFn: (Prox.Process[_, _]) ⇒ Path, append: Boolean) extends Prox.GroupErrorRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
case class
AllToStdErr() extends Prox.GroupErrorRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
sealed
trait
GroupErrorRedirection extends AnyRef
Supported process group error redirection types.
Supported process group error redirection types. Should not be used directly, see the redirection traits instead.
- Definition Classes
- RedirectionModule
-
trait
GroupErrorRedirectionType[R] extends AnyRef
Helper type class for process group error redirection dependent typing
Helper type class for process group error redirection dependent typing
- Definition Classes
- RedirectionModule
-
case class
InputFile(path: Path) extends Prox.InputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
sealed
trait
InputRedirection extends AnyRef
Supported input redirection types.
Supported input redirection types. Should not be used directly, see the redirection traits instead.
- Definition Classes
- RedirectionModule
-
case class
InputStream(stream: Prox.ProxStream[Byte], flushChunks: Boolean) extends Prox.InputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
case class
OutputFile(path: Path, append: Boolean) extends Prox.OutputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
sealed
trait
OutputRedirection extends AnyRef
Supported output redirection types.
Supported output redirection types. Should not be used directly, see the redirection traits instead.
- Definition Classes
- RedirectionModule
-
trait
OutputRedirectionType[R] extends AnyRef
Helper type class for output and error redirection dependent typing
Helper type class for output and error redirection dependent typing
- Definition Classes
- RedirectionModule
-
case class
OutputStreamThroughPipe[O, OR](pipe: Prox.ProxPipe[Byte, O], runner: (Prox.ProxStream[O]) ⇒ Prox.ProxIO[OR], chunkSize: Int = 8192) extends Prox.OutputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
case class
OutputStreamToSink(sink: Prox.ProxSink[Byte], chunkSize: Int = 8192) extends Prox.OutputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
trait
RedirectableError[+P[_] <: Prox.Process[_, _]] extends AnyRef
The capability to redirect the error output of a process
The capability to redirect the error output of a process
- P
Self type without the RedirectableError capability
- Definition Classes
- RedirectionModule
-
trait
RedirectableErrors[+P[_] <: Prox.ProcessGroup[_, _]] extends AnyRef
The capability to redirect all the error outputs simultaneously of a process group
The capability to redirect all the error outputs simultaneously of a process group
- P
Self type without the RedirectableErrors capability
- Definition Classes
- RedirectionModule
-
trait
RedirectableInput[+P <: ProcessLike] extends AnyRef
The capability to redirect the input of a process or process group
The capability to redirect the input of a process or process group
- Definition Classes
- RedirectionModule
-
trait
RedirectableOutput[+P[_] <: ProcessLike] extends AnyRef
The capability to redirect the output of a process or a process group
The capability to redirect the output of a process or a process group
- P
Self type without the RedirectableOutput capability
- Definition Classes
- RedirectionModule
-
case class
StdIn() extends Prox.InputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
case class
StdOut() extends Prox.OutputRedirection with Product with Serializable
- Definition Classes
- RedirectionModule
-
trait
PipeBuilder[P] extends AnyRef
- Definition Classes
- SyntaxModule
-
class
PipeBuilderSyntax[P] extends AnyRef
- Definition Classes
- SyntaxModule
-
implicit
class
ProcessPiping extends AnyRef
Extension methods for unbound processes enabling the creation of process groups
Extension methods for unbound processes enabling the creation of process groups
- Definition Classes
- SyntaxModule
-
implicit
class
ProcessStringContextIO extends AnyRef
String interpolator for an alternative of Process.apply
String interpolator for an alternative of Process.apply
val process = proc"ls -hal $dir"
- Definition Classes
- SyntaxModule
Abstract Value Members
-
abstract
def
blockingEffect[A](f: ⇒ A, wrapError: (Throwable) ⇒ ProxError): ProxIO[A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
bracket[A, B](acquire: ProxIO[A])(use: (A) ⇒ ProxIO[B])(fin: (A, IOResult) ⇒ ProxIO[Unit]): ProxIO[B]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
cancelFiber[A](f: ProxFiber[A]): ProxIO[Unit]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
drainStream[A](s: ProxStream[A]): ProxIO[Unit]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
drainToJavaOutputStream(stream: ProxStream[Byte], output: OutputStream, flushChunks: Boolean): ProxIO[Unit]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
effect[A](f: ⇒ A, wrapError: (Throwable) ⇒ ProxError): ProxIO[A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
exitCodeFromInt(value: Int): ProxExitCode
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
foldMonoidStream[A](s: ProxStream[A])(implicit arg0: ProxMonoid[A]): ProxIO[A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
foldStream[A, B](s: ProxStream[A], init: B, f: (B, A) ⇒ B): ProxIO[B]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
fromJavaInputStream(input: java.io.InputStream, chunkSize: Int): ProxStream[Byte]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
identityPipe[A]: ProxPipe[A, A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
ioFlatMap[A, B](io: ProxIO[A], f: (A) ⇒ ProxIO[B]): ProxIO[B]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
ioMap[A, B](io: ProxIO[A], f: (A) ⇒ B): ProxIO[B]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
joinFiber[A](f: ProxFiber[A]): ProxIO[A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
makeResource[A](acquire: ProxIO[A], release: (A) ⇒ ProxIO[Unit]): ProxResource[A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
pure[A](value: A): ProxIO[A]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
raiseError(error: ProxError): ProxIO[Unit]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
runStreamTo[A](s: ProxStream[A], sink: ProxSink[A]): ProxIO[Unit]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
startFiber[A](f: ProxIO[A]): ProxIO[ProxFiber[A]]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
streamThrough[A, B](s: ProxStream[A], pipe: ProxPipe[A, B]): ProxStream[B]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
streamToVector[A](s: ProxStream[A]): ProxIO[Vector[A]]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
traverse[A, B](list: List[A])(f: (A) ⇒ ProxIO[B]): ProxIO[List[B]]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
unit: ProxIO[Unit]
- Attributes
- protected
- Definition Classes
- ProxRuntime
-
abstract
def
useResource[A, B](r: ProxResource[A], f: (A) ⇒ ProxIO[B]): ProxIO[B]
- Attributes
- protected
- Definition Classes
- ProxRuntime
Concrete Value Members
-
object
ProcessGroup
- Definition Classes
- ProcessGroupModule
-
object
Process
- Definition Classes
- ProcessModule
-
object
JVMProcessRunnerBase
- Definition Classes
- ProcessRunnerModule
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
GroupErrorRedirectionType
- Definition Classes
- RedirectionModule
-
object
OutputRedirectionType
- Definition Classes
- RedirectionModule
-
object
RedirectableErrors
- Definition Classes
- RedirectionModule
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated