sealed trait ZChannel[-Env, -InErr, -InElem, -InDone, +OutErr, +OutElem, +OutDone] extends AnyRef
A ZChannel[In, Env, Err, Out, Z] is a nexus of I/O operations, which supports both reading and
writing. A channel may read values of type In and write values of type Out. When the channel
finishes, it yields a value of type Z. A channel may fail with a value of type Err.
Channels are the foundation of ZIO Streams: both streams and sinks are built on channels. Most users shouldn't have to use channels directly, as streams and sinks are much more convenient and cover all common use cases. However, when adding new stream and sink operators, or doing something highly specialized, it may be useful to use channels directly.
Channels compose in a variety of ways:
- Piping. One channel can be piped to another channel, assuming the input type of the second is the same as the output type of the first.
- Sequencing. The terminal value of one channel can be used to create another channel, and both the first channel and the function that makes the second channel can be composed into a channel.
- Concating. The output of one channel can be used to create other channels, which are all concatenated together. The first channel and the function that makes the other channels can be composed into a channel.
- Self Type
- ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem, OutDone]
- Alphabetic
- By Inheritance
- ZChannel
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def *>[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]
Returns a new channel that is the sequential composition of this channel and the specified channel.
Returns a new channel that is the sequential composition of this channel and the specified channel. The returned channel terminates with the terminal value of the other channel.
This is a symbol operator for ZChannel#zipRight.
- final def <*[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone]
Returns a new channel that is the sequential composition of this channel and the specified channel.
Returns a new channel that is the sequential composition of this channel and the specified channel. The returned channel terminates with the terminal value of this channel.
This is a symbol operator for ZChannel#zipLeft.
- final def <*>[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2])(implicit zippable: Zippable[OutDone, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Out]
Returns a new channel that is the sequential composition of this channel and the specified channel.
Returns a new channel that is the sequential composition of this channel and the specified channel. The returned channel terminates with a tuple of the terminal values of both channels.
This is a symbol operator for ZChannel#zip.
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def >>>[Env1 <: Env, OutErr2, OutElem2, OutDone2](that: => ZChannel[Env1, OutErr, OutElem, OutDone, OutErr2, OutElem2, OutDone2]): ZChannel[Env1, InErr, InElem, InDone, OutErr2, OutElem2, OutDone2]
Returns a new channel that pipes the output of this channel into the specified channel.
Returns a new channel that pipes the output of this channel into the specified channel. The returned channel has the input type of this channel, and the output type of the specified channel, terminating with the value of the specified channel.
This is a symbolic operator for ZChannel#pipeTo.
- final def as[OutDone2](z2: => OutDone2): ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2]
Returns a new channel that is the same as this one, except the terminal value of the channel is the specified constant value.
Returns a new channel that is the same as this one, except the terminal value of the channel is the specified constant value.
This method produces the same result as mapping this channel to the specified constant value.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def catchAll[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr2, OutElem1 >: OutElem, OutDone1 >: OutDone](f: (OutErr) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone1]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone1]
Returns a new channel that is the same as this one, except if this channel errors for any typed error, then the returned channel will switch over to using the fallback channel returned by the specified error handler.
- final def catchAllCause[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr2, OutElem1 >: OutElem, OutDone1 >: OutDone](f: (Cause[OutErr]) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone1]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone1]
Returns a new channel that is the same as this one, except if this channel errors for any cause at all, then the returned channel will switch over to using the fallback channel returned by the specified error handler.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def collect[OutElem2](f: PartialFunction[OutElem, OutElem2]): ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem2, OutDone]
Returns a new channel, which is the same as this one, except its outputs are filtered and transformed by the specified partial function.
- final def concatMap[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2](f: (OutElem) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]
Returns a new channel whose outputs are fed to the specified factory function, which creates new channels in response.
Returns a new channel whose outputs are fed to the specified factory function, which creates new channels in response. These new channels are sequentially concatenated together, and all their outputs appear as outputs of the newly returned channel.
- final def concatMapWith[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2, OutDone2, OutDone3](f: (OutElem) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone2])(g: (OutDone2, OutDone2) => OutDone2, h: (OutDone2, OutDone) => OutDone3): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone3]
Returns a new channel whose outputs are fed to the specified factory function, which creates new channels in response.
Returns a new channel whose outputs are fed to the specified factory function, which creates new channels in response. These new channels are sequentially concatenated together, and all their outputs appear as outputs of the newly returned channel. The provided merging function is used to merge the terminal values of all channels into the single terminal value of the returned channel.
- final def concatOut[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2](implicit ev: <:<[OutElem, ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]
Returns a new channel, which is the concatenation of all the channels that are written out by this channel.
Returns a new channel, which is the concatenation of all the channels that are written out by this channel. This method may only be called on channels that output other channels.
- def contramap[InDone0](f: (InDone0) => InDone): ZChannel[Env, InErr, InElem, InDone0, OutErr, OutElem, OutDone]
- def contramapIn[InElem0](f: (InElem0) => InElem): ZChannel[Env, InErr, InElem0, InDone, OutErr, OutElem, OutDone]
- def contramapInZIO[InElem0, Env1 <: Env](f: (InElem0) => ZIO[Env1, InErr, InElem]): ZChannel[Env1, InErr, InElem0, InDone, OutErr, OutElem, OutDone]
- def contramapZIO[InDone0, Env1 <: Env](f: (InDone0) => ZIO[Env1, InErr, InDone]): ZChannel[Env1, InErr, InElem, InDone0, OutErr, OutElem, OutDone]
- def doneCollect: ZChannel[Env, InErr, InElem, InDone, OutErr, Nothing, (Chunk[OutElem], OutDone)]
Returns a new channel, which is the same as this one, except that all the outputs are collected and bundled into a tuple together with the terminal value of this channel.
Returns a new channel, which is the same as this one, except that all the outputs are collected and bundled into a tuple together with the terminal value of this channel.
As the channel returned from this channel collects all of this channel's output into an in- memory chunk, it is not safe to call this method on channels that output a large or unbounded number of values.
- def drain: ZChannel[Env, InErr, InElem, InDone, OutErr, Nothing, OutDone]
Returns a new channel which reads all the elements from upstream's output channel and ignores them, then terminates with the upstream result value.
- def embedInput[InErr2, InElem2, InDone2](input: AsyncInputProducer[InErr2, InElem2, InDone2])(implicit noInputErrors: <:<[Any, InErr], noInputElements: <:<[Any, InElem], noInputDone: <:<[Any, InDone]): ZChannel[Env, InErr2, InElem2, InDone2, OutErr, OutElem, OutDone]
- final def emitCollect: ZChannel[Env, InErr, InElem, InDone, OutErr, (Chunk[OutElem], OutDone), Unit]
Returns a new channel that collects the output and terminal value of this channel, which it then writes as output of the returned channel.
- final def ensuring[Env1 <: Env](finalizer: URIO[Env1, Any]): ZChannel[Env1, InErr, InElem, InDone, OutErr, OutElem, OutDone]
- final def ensuringWith[Env1 <: Env](finalizer: (Exit[OutErr, OutDone]) => URIO[Env1, Any]): ZChannel[Env1, InErr, InElem, InDone, OutErr, OutElem, OutDone]
Returns a new channel with an attached finalizer.
Returns a new channel with an attached finalizer. The finalizer is guaranteed to be executed so long as the channel begins execution (and regardless of whether or not it completes).
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def flatMap[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](f: (OutDone) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]
Returns a new channel, which sequentially combines this channel, together with the provided factory function, which creates a second channel based on the terminal value of this channel.
Returns a new channel, which sequentially combines this channel, together with the provided factory function, which creates a second channel based on the terminal value of this channel. The result is a channel that will first perform the functions of this channel, before performing the functions of the created channel (including yielding its terminal value).
- final def flatten[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](implicit ev: <:<[OutDone, ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]
Returns a new channel, which flattens the terminal value of this channel.
Returns a new channel, which flattens the terminal value of this channel. This function may only be called if the terminal value of this channel is another channel of compatible types.
- final def foldCauseChannel[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1, OutElem1 >: OutElem, OutDone1](onErr: (Cause[OutErr]) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1], onSucc: (OutDone) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1]
- final def foldChannel[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1, OutElem1 >: OutElem, OutDone1](onErr: (OutErr) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1], onSucc: (OutDone) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone1]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def interruptWhen[OutErr1 >: OutErr, OutDone1 >: OutDone](promise: Promise[OutErr1, OutDone1]): ZChannel[Env, InErr, InElem, InDone, OutErr1, OutElem, OutDone1]
Returns a new channel, which is the same as this one, except it will be interrupted when the specified promise is completed.
Returns a new channel, which is the same as this one, except it will be interrupted when the specified promise is completed. If the promise is completed before the underlying channel is done, then the returned channel will yield the value of the promise. Otherwise, if the underlying channel finishes first, then the returned channel will yield the value of the underlying channel.
- final def interruptWhen[Env1 <: Env, OutErr1 >: OutErr, OutDone1 >: OutDone](io: ZIO[Env1, OutErr1, OutDone1]): ZChannel[Env1, InErr, InElem, InDone, OutErr1, OutElem, OutDone1]
Returns a new channel, which is the same as this one, except it will be interrupted when the specified effect completes.
Returns a new channel, which is the same as this one, except it will be interrupted when the specified effect completes. If the effect completes successfully before the underlying channel is done, then the returned channel will yield the success value of the effect as its terminal value. On the other hand, if the underlying channel finishes first, then the returned channel will yield the success value of the underlying channel as its terminal value.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def map[OutDone2](f: (OutDone) => OutDone2): ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem, OutDone2]
Returns a new channel, which is the same as this one, except the terminal value of the returned channel is created by applying the specified function to the terminal value of this channel.
- final def mapError[OutErr2](f: (OutErr) => OutErr2): ZChannel[Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone]
Returns a new channel, which is the same as this one, except the failure value of the returned channel is created by applying the specified function to the failure value of this channel.
- final def mapErrorCause[OutErr2](f: (Cause[OutErr]) => Cause[OutErr2]): ZChannel[Env, InErr, InElem, InDone, OutErr2, OutElem, OutDone]
A more powerful version of mapError which also surfaces the Cause of the channel failure
- def mapOut[OutElem2](f: (OutElem) => OutElem2): ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem2, OutDone]
- def mapOutZIO[Env1 <: Env, OutErr1 >: OutErr, OutElem2](f: (OutElem) => ZIO[Env1, OutErr1, OutElem2]): ZChannel[Env1, InErr, InElem, InDone, OutErr1, OutElem2, OutDone]
- def mapOutZIOPar[Env1 <: Env, OutErr1 >: OutErr, OutElem2](n: Int)(f: (OutElem) => ZIO[Env1, OutErr1, OutElem2]): ZChannel[Env1, InErr, InElem, InDone, OutErr1, OutElem2, OutDone]
- final def mapZIO[Env1 <: Env, OutErr1 >: OutErr, OutDone2](f: (OutDone) => ZIO[Env1, OutErr1, OutDone2]): ZChannel[Env1, InErr, InElem, InDone, OutErr1, OutElem, OutDone2]
Returns a new channel, which is the same as this one, except the terminal value of the returned channel is created by applying the specified effectful function to the terminal value of this channel.
- def mergeMap[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2](n: Long)(f: (OutElem) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]
- def mergeMapWith[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2, OutDone1 >: OutDone](n: Long)(f: (OutElem) => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone1])(g: (OutDone1, OutDone1) => OutDone1): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone1]
- def mergeOut[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2](n: Long)(implicit ev: <:<[OutElem, ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, Any]
- def mergeOutWith[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2, OutDone1 >: OutDone](n: Long)(f: (OutDone1, OutDone1) => OutDone1)(implicit ev: <:<[OutElem, ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone1]]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone1]
- final def mergeWith[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr2, OutErr3, OutElem1 >: OutElem, OutDone2, OutDone3](that: ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone2])(leftDone: (Exit[OutErr, OutDone]) => MergeDecision[Env1, OutErr2, OutDone2, OutErr3, OutDone3], rightDone: (Exit[OutErr2, OutDone2]) => MergeDecision[Env1, OutErr, OutDone, OutErr3, OutDone3]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr3, OutElem1, OutDone3]
Returns a new channel, which is the merge of this channel and the specified channel, where the behavior of the returned channel on left or right early termination is decided by the specified
leftDoneandrightDonemerge decisions. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- lazy val never: ZChannel[Any, Any, Any, Any, Nothing, Nothing, Nothing]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def orDie(implicit ev: <:<[OutErr, Throwable]): ZChannel[Env, InErr, InElem, InDone, Nothing, OutElem, OutDone]
- def orDieWith(f: (OutErr) => Throwable): ZChannel[Env, InErr, InElem, InDone, Nothing, OutElem, OutDone]
- final def orElse[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr2, OutElem1 >: OutElem, OutDone1 >: OutDone](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone1]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr2, OutElem1, OutDone1]
Returns a new channel that will perform the operations of this one, until failure, and then it will switch over to the operations of the specified fallback channel.
- def pipeTo[Env1 <: Env, OutErr2, OutElem2, OutDone2](that: => ZChannel[Env1, OutErr, OutElem, OutDone, OutErr2, OutElem2, OutDone2]): ZChannel[Env1, InErr, InElem, InDone, OutErr2, OutElem2, OutDone2]
- final def provide(env: Env)(implicit ev: NeedsEnv[Env]): ZChannel[Any, InErr, InElem, InDone, OutErr, OutElem, OutDone]
Provides the channel with its required environment, which eliminates its dependency on
Env. - def repeated: ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem, Nothing]
- def run(implicit ev1: <:<[Any, InElem], ev2: <:<[OutElem, Nothing]): ZIO[Env, OutErr, OutDone]
- def runCollect(implicit ev1: <:<[Any, InElem]): ZIO[Env, OutErr, (Chunk[OutElem], OutDone)]
- def runDrain(implicit ev1: <:<[Any, InElem]): ZIO[Env, OutErr, OutDone]
- def runManaged(implicit ev1: <:<[Any, InElem], ev2: <:<[OutElem, Nothing]): ZManaged[Env, OutErr, OutDone]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toPull: ZManaged[Env, Nothing, ZIO[Env, Either[OutErr, OutDone], OutElem]]
- def toString(): String
- Definition Classes
- AnyRef → Any
- def unit: ZChannel[Env, InErr, InElem, InDone, OutErr, OutElem, Unit]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def zip[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2])(implicit zippable: Zippable[OutDone, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Out]
- def zipLeft[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone]
- def zipOutWith[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem2, OutElem3, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem2, OutDone2])(f: (OutElem, OutElem2) => OutElem3): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem3, (OutDone, OutDone2)]
- def zipPar[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2])(implicit zippable: Zippable[OutDone, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Out]
- def zipParLeft[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone]
- def zipParRight[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]
- def zipRight[Env1 <: Env, InErr1 <: InErr, InElem1 <: InElem, InDone1 <: InDone, OutErr1 >: OutErr, OutElem1 >: OutElem, OutDone2](that: => ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]): ZChannel[Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, OutDone2]