gopher.impl

package gopher.impl

Type members

Classlikes

case class AppendReadChannel[F[_], A](x: ReadChannel[F, A], y: ReadChannel[F, A]) extends ReadChannel[F, A]

Input, which reed from the first channel, and after first channel is closed - from second

Input, which reed from the first channel, and after first channel is closed - from second

can be created with 'append' operator.

 val x = read(x|y)
Source:
AppendReadChannel.scala
abstract class BaseChannel[F[_], A](val gopherApi: JSGopher[F]) extends Channel[F, A, A]
class BufferedChannel[F[_], A](gopherApi: JSGopher[F], bufSize: Int)(implicit evidence$1: CpsAsyncMonad[F]) extends BaseChannel[F, A]
class ChFlatMappedChannel[F[_], W, RA, RB](internal: Channel[F, W, RA], f: RA => ReadChannel[F, RB]) extends ChFlatMappedReadChannel[F, RA, RB] with Channel[F, W, RB]
class ChFlatMappedReadChannel[F[_], A, B](prev: ReadChannel[F, A], f: A => ReadChannel[F, B]) extends ReadChannel[F, B]
class ChFlatMappedTryReadChannel[F[_], A, B](prev: ReadChannel[F, Try[A]], f: Try[A] => ReadChannel[F, Try[B]]) extends ReadChannel[F, Try[B]]
class DelayedReadChannel[F[_], T](fch: F[ReadChannel[F, T]])(implicit evidence$1: CpsSchedulingMonad[F], x$2: Gopher[F]) extends ReadChannel[F, T]
trait Expirable[A]

Object, which can be expired (usually - reader or writer in SelectGroup) Usage protocol is next: capture if A inside is used, call markUsed and use A if A inside is unused for some reason -- call markFree

Object, which can be expired (usually - reader or writer in SelectGroup) Usage protocol is next: capture if A inside is used, call markUsed and use A if A inside is unused for some reason -- call markFree

Companion:
object
Source:
Expirable.scala
object Expirable
Companion:
class
Source:
Expirable.scala
class FilteredAsyncChannel[F[_], W, R](internal: Channel[F, W, R], p: R => F[Boolean]) extends FilteredAsyncReadChannel[F, R] with Channel[F, W, R]
class FilteredAsyncReadChannel[F[_], A](internal: ReadChannel[F, A], p: A => F[Boolean]) extends ReadChannel[F, A]
class FilteredChannel[F[_], W, R](internal: Channel[F, W, R], p: R => Boolean) extends FilteredReadChannel[F, R] with Channel[F, W, R]
class FilteredReadChannel[F[_], A](internal: ReadChannel[F, A], p: A => Boolean) extends ReadChannel[F, A]
class JSTime[F[_]](gopherAPI: JSGopher[F]) extends Time[F]
class MappedAsyncChannel[F[_], W, RA, RB](internal: Channel[F, W, RA], f: RA => F[RB]) extends MappedAsyncReadChannel[F, RA, RB] with Channel[F, W, RB]
class MappedAsyncReadChannel[F[_], A, B](internal: ReadChannel[F, A], f: A => F[B]) extends ReadChannel[F, B]
class MappedChannel[F[_], W, RA, RB](internal: Channel[F, W, RA], f: RA => RB) extends MappedReadChannel[F, RA, RB] with Channel[F, W, RB]
class MappedReadChannel[F[_], A, B](internal: ReadChannel[F, A], f: A => B) extends ReadChannel[F, B]
class NesteWriterWithExpireTime[A](nested: Writer[A], expireTimeMillis: Long) extends Writer[A]
class NestedWriterWithExpireTimeThrowing[F[_], A](nested: Writer[A], expireTimeMillis: Long, gopherApi: Gopher[F]) extends Writer[A]
case class OrReadChannel[F[_], A](x: ReadChannel[F, A], y: ReadChannel[F, A]) extends ReadChannel[F, A]

Input, which combine two other inputs.

Input, which combine two other inputs.

can be created with '|' operator.

 val x = read(x|y)
Source:
OrReadChannel.scala
class PromiseChannel[F[_], A](gopherApi: JSGopher[F])(implicit evidence$1: CpsAsyncMonad[F]) extends BaseChannel[F, A]
trait Reader[A] extends Expirable[Try[A] => Unit]
class SimpleWriter[A](a: A, f: Try[Unit] => Unit) extends Writer[A]
class SimpleWriterWithExpireTime[A](a: A, f: Try[Unit] => Unit, expireTimeMillis: Long) extends Writer[A]
class UnbufferedChannel[F[_], A](gopherApi: JSGopher[F])(implicit evidence$1: CpsAsyncMonad[F]) extends BaseChannel[F, A]
trait Writer[A] extends Expirable[(A, Try[Unit] => Unit)]