gopher.impl

package gopher.impl

Members list

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
Supertypes
trait Serializable
trait Product
trait Equals
trait ReadChannel[F, A]
class Object
trait Matchable
class Any
Show all
class ChFlatMappedChannel[F[_], W, RA, RB](internal: Channel[F, W, RA], f: RA => ReadChannel[F, RB]) extends ChFlatMappedReadChannel[F, RA, RB], Channel[F, W, RB]

Attributes

Source
ChFlatMappedChannel.scala
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
Show all
class ChFlatMappedReadChannel[F[_], A, B](prev: ReadChannel[F, A], f: A => ReadChannel[F, B]) extends ReadChannel[F, B]

Attributes

Source
ChFlatMappedReadChannel.scala
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
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
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Reader[A]
class SimpleReader
class MReader
class MReader
class WrappedReader[B]
class ReaderRecord[A]
trait Writer[A]
class SimpleWriter[A]
class WriterRecord[A]
Show all
object Expirable

Attributes

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

Attributes

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

Attributes

Source
FilteredReadChannel.scala
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], Channel[F, W, R]

Attributes

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

Attributes

Source
FilteredReadChannel.scala
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
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
class
Source
GuardedSPSCBaseChannel.scala
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
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
Show all
class GuardedSPSCUnbufferedChannel[F[_], A](gopherApi: JVMGopher[F], controlExecutor: ExecutorService, taskExecutor: ExecutorService)(implicit evidence$1: CpsAsyncMonad[F]) extends GuardedSPSCBaseChannel[F, A]

Attributes

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

Attributes

Source
MappedChannel.scala
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
Show all
class MappedAsyncReadChannel[F[_], A, B](internal: ReadChannel[F, A], f: A => F[B]) extends ReadChannel[F, B]

Attributes

Source
MappedReadChannel.scala
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], Channel[F, W, RB]

Attributes

Source
MappedChannel.scala
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
Show all
class MappedReadChannel[F[_], A, B](internal: ReadChannel[F, A], f: A => B) extends ReadChannel[F, B]

Attributes

Source
MappedReadChannel.scala
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
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
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
Supertypes
trait Serializable
trait Product
trait Equals
trait ReadChannel[F, A]
class Object
trait Matchable
class Any
Show all
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
Supertypes
trait Channel[F, A, A]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, A]
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
Show all
trait Reader[A] extends Expirable[(Try[A]) => Unit]

Attributes

Source
Reader.scala
Supertypes
trait Expirable[(Try[A]) => Unit]
class Object
trait Matchable
class Any
Known subtypes
class SimpleReader
class MReader
class MReader
class WrappedReader[B]
class ReaderRecord[A]
Show all
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class RingBuffer
class SimpleWriter[A](a: A, f: (Try[Unit]) => Unit) extends Writer[A]

Attributes

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