gopher.impl

package gopher.impl

Members list

Concise view

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)

Attributes

Source:
AppendReadChannel.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait ReadChannel[F, A]
class Object
trait Matchable
class Any
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]

Attributes

Source:
ChFlatMappedChannel.scala
Graph
Supertypes
trait Channel[F, W, RB]
trait Closeable
trait AutoCloseable
trait WriteChannel[F, W]
class ChFlatMappedReadChannel[F, RA, RB]
trait ReadChannel[F, RB]
class Object
trait Matchable
class Any
class ChFlatMappedReadChannel[F[_], A, B](prev: ReadChannel[F, A], f: A => ReadChannel[F, B]) extends ReadChannel[F, B]

Attributes

Source:
ChFlatMappedReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, B]
class Object
trait Matchable
class Any
Known subtypes
class ChFlatMappedChannel[F, W, RA, RB]
class ChFlatMappedTryReadChannel[F[_], A, B](prev: ReadChannel[F, Try[A]], f: Try[A] => ReadChannel[F, Try[B]]) extends ReadChannel[F, Try[B]]

Attributes

Source:
ChFlatMappedTryReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, Try[B]]
class Object
trait Matchable
class Any
class DelayedReadChannel[F[_], T](fch: F[ReadChannel[F, T]])(implicit evidence$1: CpsSchedulingMonad[F], x$2: Gopher[F]) extends ReadChannel[F, T]

Attributes

Source:
DelayedReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, T]
class Object
trait Matchable
class Any
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

Attributes

Companion:
object
Source:
Expirable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Expirable

Attributes

Companion:
trait
Source:
Expirable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class FilteredAsyncChannel[F[_], W, R](internal: Channel[F, W, R], p: R => F[Boolean]) extends FilteredAsyncReadChannel[F, R] with Channel[F, W, R]

Attributes

Source:
FilteredChannel.scala
Graph
Supertypes
trait Channel[F, W, R]
trait Closeable
trait AutoCloseable
trait WriteChannel[F, W]
trait ReadChannel[F, R]
class Object
trait Matchable
class Any
class FilteredAsyncReadChannel[F[_], A](internal: ReadChannel[F, A], p: A => F[Boolean]) extends ReadChannel[F, A]

Attributes

Source:
FilteredReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, A]
class Object
trait Matchable
class Any
Known subtypes
class FilteredAsyncChannel[F, W, R]
class FilteredChannel[F[_], W, R](internal: Channel[F, W, R], p: R => Boolean) extends FilteredReadChannel[F, R] with Channel[F, W, R]

Attributes

Source:
FilteredChannel.scala
Graph
Supertypes
trait Channel[F, W, R]
trait Closeable
trait AutoCloseable
trait WriteChannel[F, W]
trait ReadChannel[F, R]
class Object
trait Matchable
class Any
class FilteredReadChannel[F[_], A](internal: ReadChannel[F, A], p: A => Boolean) extends ReadChannel[F, A]

Attributes

Source:
FilteredReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, A]
class Object
trait Matchable
class Any
Known subtypes
class FilteredChannel[F, W, R]
abstract class GuardedSPSCBaseChannel[F[_], A](val gopherApi: JVMGopher[F], controlExecutor: ExecutorService, taskExecutor: ExecutorService)(implicit evidence$1: CpsAsyncMonad[F]) extends Channel[F, A, A]

Guarded channel work in the next way: reader and writer asynchronically added to readers and writers and force evaluation of internal step function or ensure that currently running step function will see the chanes in readers/writers. Step functions is executed in some thread loop, and in the same time, only one instance of step function is running. (which is ensured by guard)

Guarded channel work in the next way: reader and writer asynchronically added to readers and writers and force evaluation of internal step function or ensure that currently running step function will see the chanes in readers/writers. Step functions is executed in some thread loop, and in the same time, only one instance of step function is running. (which is ensured by guard)

Attributes

Companion:
object
Source:
GuardedSPSCBaseChannel.scala
Graph
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
class
Source:
GuardedSPSCBaseChannel.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class GuardedSPSCBufferedChannel[F[_], A](gopherApi: JVMGopher[F], bufSize: Int, controlExecutor: ExecutorService, taskExecutor: ExecutorService)(implicit evidence$1: CpsAsyncMonad[F]) extends GuardedSPSCBaseChannel[F, A]

Attributes

Source:
GuardedSPSCBufferedChannel.scala
Graph
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
class GuardedSPSCUnbufferedChannel[F[_], A](gopherApi: JVMGopher[F], controlExecutor: ExecutorService, taskExecutor: ExecutorService)(implicit evidence$1: CpsAsyncMonad[F]) extends GuardedSPSCBaseChannel[F, A]

Attributes

Source:
GuardedSPSCUnbufferedChannel.scala
Graph
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
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]

Attributes

Source:
MappedChannel.scala
Graph
Supertypes
trait Channel[F, W, RB]
trait Closeable
trait AutoCloseable
trait WriteChannel[F, W]
class MappedAsyncReadChannel[F, RA, RB]
trait ReadChannel[F, RB]
class Object
trait Matchable
class Any
class MappedAsyncReadChannel[F[_], A, B](internal: ReadChannel[F, A], f: A => F[B]) extends ReadChannel[F, B]

Attributes

Source:
MappedReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, B]
class Object
trait Matchable
class Any
Known subtypes
class MappedAsyncChannel[F, W, RA, RB]
class MappedChannel[F[_], W, RA, RB](internal: Channel[F, W, RA], f: RA => RB) extends MappedReadChannel[F, RA, RB] with Channel[F, W, RB]

Attributes

Source:
MappedChannel.scala
Graph
Supertypes
trait Channel[F, W, RB]
trait Closeable
trait AutoCloseable
trait WriteChannel[F, W]
class MappedReadChannel[F, RA, RB]
trait ReadChannel[F, RB]
class Object
trait Matchable
class Any
class MappedReadChannel[F[_], A, B](internal: ReadChannel[F, A], f: A => B) extends ReadChannel[F, B]

Attributes

Source:
MappedReadChannel.scala
Graph
Supertypes
trait ReadChannel[F, B]
class Object
trait Matchable
class Any
Known subtypes
class MappedChannel[F, W, RA, RB]
class NesteWriterWithExpireTime[A](nested: Writer[A], expireTimeMillis: Long) extends Writer[A]

Attributes

Source:
WriterWithExpireTime.scala
Graph
Supertypes
trait Writer[A]
trait Expirable[(A, Try[Unit] => Unit)]
class Object
trait Matchable
class Any
class NestedWriterWithExpireTimeThrowing[F[_], A](nested: Writer[A], expireTimeMillis: Long, gopherApi: Gopher[F]) extends Writer[A]

Attributes

Source:
WriterWithExpireTime.scala
Graph
Supertypes
trait Writer[A]
trait Expirable[(A, Try[Unit] => Unit)]
class Object
trait Matchable
class Any
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)

Attributes

Source:
OrReadChannel.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait ReadChannel[F, A]
class Object
trait Matchable
class Any
class PromiseChannel[F[_], A](val gopherApi: JVMGopher[F], taskExecutor: Executor) extends Channel[F, A, A]

Channel is closed immediatly after successfull write.

Channel is closed immediatly after successfull write.

Attributes

Source:
PromiseChannel.scala
Graph
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
trait Reader[A] extends Expirable[Try[A] => Unit]

Attributes

Source:
Reader.scala
Graph
Supertypes
trait Expirable[Try[A] => Unit]
class Object
trait Matchable
class Any
Known subtypes
trait SPSCBuffer[A]

Buffer. access to buffer is exclusive by owner channel, different loops can start in different threads but only one loop can be active at the samw time

Buffer. access to buffer is exclusive by owner channel, different loops can start in different threads but only one loop can be active at the samw time

Attributes

Source:
SPSCBuffer.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class SimpleWriter[A](a: A, f: Try[Unit] => Unit) extends Writer[A]

Attributes

Source:
Writer.scala
Graph
Supertypes
trait Writer[A]
trait Expirable[(A, Try[Unit] => Unit)]
class Object
trait Matchable
class Any
class SimpleWriterWithExpireTime[A](a: A, f: Try[Unit] => Unit, expireTimeMillis: Long) extends Writer[A]

Attributes

Source:
WriterWithExpireTime.scala
Graph
Supertypes
trait Writer[A]
trait Expirable[(A, Try[Unit] => Unit)]
class Object
trait Matchable
class Any
trait Writer[A] extends Expirable[(A, Try[Unit] => Unit)]

Attributes

Source:
Writer.scala
Graph
Supertypes
trait Expirable[(A, Try[Unit] => Unit)]
class Object
trait Matchable
class Any
Known subtypes