gopher

package gopher

Members list

Concise view

Type members

Classlikes

trait Channel[F[_], W, R] extends WriteChannel[F, W] with ReadChannel[F, R] with Closeable

Channel with ability to read and to write.

Channel with ability to read and to write.

Attributes

See also:
Companion:
object
Source:
Channel.scala
Graph
Supertypes
trait Closeable
trait AutoCloseable
trait ReadChannel[F, R]
trait WriteChannel[F, W]
class Object
trait Matchable
class Any
Known subtypes
class ChannelWithExpiration[F, W, R]
class ChFlatMappedChannel[F, W, RA, RB]
class FilteredAsyncChannel[F, W, R]
class FilteredChannel[F, W, R]
class MappedAsyncChannel[F, W, RA, RB]
class MappedChannel[F, W, RA, RB]
class PromiseChannel[F, A]
object Channel

Attributes

Companion:
trait
Source:
Channel.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Channel.type
class ChannelClosedException(debugInfo: String) extends RuntimeException

Attributes

Source:
ChannelClosedException.scala
Graph
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
class ChannelWithExpiration[F[_], W, R](internal: Channel[F, W, R], ttl: FiniteDuration, throwTimeouts: Boolean) extends WriteChannelWithExpiration[F, W] with Channel[F, W, R]

Attributes

Source:
ChannelWithExpiration.scala
Graph
Supertypes
trait Channel[F, W, R]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, R]
trait WriteChannel[F, W]
class Object
trait Matchable
class Any
case object DefaultGopherConfig extends GopherConfig

Attributes

Source:
GopherAPI.scala
Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Self type
class DuppedInput[F[_], A](origin: ReadChannel[F, A], bufSize: Int)(using api: Gopher[F])

Attributes

Source:
DuppedInput.scala
Graph
Supertypes
class Object
trait Matchable
class Any
trait Gopher[F[_]]

core of Gopher API. Given instance of Gopher[F] need for using most of Gopher operations.

core of Gopher API. Given instance of Gopher[F] need for using most of Gopher operations.

Gopher is a framework, which implements CSP (Communication Sequence Process). Process here - scala units of execution (i.e. functions, blok of code, etc). Communication channels represented by [gopher.Channel]

Attributes

See also:
Source:
Gopher.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class JVMGopher[F]
trait GopherAPI

Attributes

Source:
GopherAPI.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object JVMGopher.type

Attributes

Source:
GopherAPI.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class JVMGopher[F[_]](cfg: JVMGopherConfig)(implicit evidence$1: CpsSchedulingMonad[F]) extends Gopher[F]

Attributes

Companion:
object
Source:
JVMGopher.scala
Graph
Supertypes
trait Gopher[F]
class Object
trait Matchable
class Any
object JVMGopher extends GopherAPI

Attributes

Companion:
class
Source:
JVMGopher.scala
Graph
Supertypes
trait GopherAPI
class Object
trait Matchable
class Any
Self type
case class JVMGopherConfig(controlExecutor: ExecutorService, taskExecutor: ExecutorService) extends GopherConfig

Attributes

Source:
JVMGopherConfig.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
class JVMTime[F[_]](gopherAPI: JVMGopher[F]) extends Time[F]

Attributes

Source:
JVMTime.scala
Graph
Supertypes
class Time[F]
class Object
trait Matchable
class Any
object Platform

Attributes

Source:
Platform.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait ReadChannel[F[_], A]

ReadChannel: Interface providing asynchronous reading API.

ReadChannel: Interface providing asynchronous reading API.

Attributes

Companion:
object
Source:
ReadChannel.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Channel[F, W, R]
class ChannelWithExpiration[F, W, R]
class ChFlatMappedChannel[F, W, RA, RB]
class FilteredAsyncChannel[F, W, R]
class FilteredChannel[F, W, R]
class MappedAsyncChannel[F, W, RA, RB]
class MappedChannel[F, W, RA, RB]
class PromiseChannel[F, A]
class AppendReadChannel[F, A]
class DelayedReadChannel[F, T]
class MappedAsyncReadChannel[F, A, B]
class MappedReadChannel[F, A, B]
class OrReadChannel[F, A]
Self type

Attributes

Companion:
trait
Source:
ReadChannel.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class Select[F[_]](api: Gopher[F])

Organize waiting for read/write from multiple async channels

Organize waiting for read/write from multiple async channels

Gopher[F] provide a function select of this type.

Attributes

Source:
Select.scala
Graph
Supertypes
class Object
trait Matchable
class Any
object SelectFold

Helper namespace for Select.Fold return value

Helper namespace for Select.Fold return value

Attributes

See also:

[Select.fold]

Source:
SelectFold.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class SelectForever[F[_]](api: Gopher[F]) extends SelectGroupBuilder[F, Unit, Unit]

Result of select.forever: apply method accept partial pseudofunction which evalueated forever.

Result of select.forever: apply method accept partial pseudofunction which evalueated forever.

Attributes

Source:
SelectForever.scala
Graph
Supertypes
class SelectGroupBuilder[F, Unit, Unit]
trait SelectListeners[F, Unit, Unit]
class Object
trait Matchable
class Any
class SelectGroup[F[_], S](api: Gopher[F]) extends SelectListeners[F, S, S]

Select group is a virtual 'lock' object. Readers and writers are grouped into select groups. When event about avaiability to read or to write is arrived and no current event group members is running, than run of one of the members is triggered. I.e. only one from group can run.

Select group is a virtual 'lock' object. Readers and writers are grouped into select groups. When event about avaiability to read or to write is arrived and no current event group members is running, than run of one of the members is triggered. I.e. only one from group can run.

Note, that application develeper usually not work with SelectGroup directly, it is created internally by select pseudostatement.

Attributes

See also:

[gopher.Select]

[gopher.select]

Source:
SelectGroup.scala
Graph
Supertypes
trait SelectListeners[F, S, S]
class Object
trait Matchable
class Any
Self type
abstract class SelectGroupBuilder[F[_], S, R](api: Gopher[F]) extends SelectListeners[F, S, R]

Attributes

Source:
SelectListeners.scala
Graph
Supertypes
trait SelectListeners[F, S, R]
class Object
trait Matchable
class Any
Known subtypes
class SelectForever[F]
class SelectLoop[F]
trait SelectListeners[F[_], S, R]

Attributes

Source:
SelectListeners.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class SelectGroup[F, S]
class SelectGroupBuilder[F, S, R]
class SelectForever[F]
class SelectLoop[F]
class SelectLoop[F[_]](api: Gopher[F]) extends SelectGroupBuilder[F, Boolean, Unit]

Attributes

Source:
SelectLoop.scala
Graph
Supertypes
class SelectGroupBuilder[F, Boolean, Unit]
trait SelectListeners[F, Boolean, Unit]
class Object
trait Matchable
class Any

Attributes

Source:
SelectMacro.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Shared gopehr api, which is initialized by platofrm part, Primary used for cross-platforming test, you shoul initialize one of platform API behind and then run tests.

Shared gopehr api, which is initialized by platofrm part, Primary used for cross-platforming test, you shoul initialize one of platform API behind and then run tests.

Attributes

Source:
GopherAPI.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class Time[F[_]](gopherAPI: Gopher[F])

Time API, simular to one in golang standard library.

Time API, simular to one in golang standard library.

Attributes

See also:

gopherApi#time

Companion:
object
Source:
Time.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class JVMTime[F]
object Time

Attributes

Companion:
class
Source:
Time.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Time.type
trait WriteChannel[F[_], A]

Attributes

Source:
WriteChannel.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Channel[F, W, R]
class ChannelWithExpiration[F, W, R]
class ChFlatMappedChannel[F, W, RA, RB]
class FilteredAsyncChannel[F, W, R]
class FilteredChannel[F, W, R]
class MappedAsyncChannel[F, W, RA, RB]
class MappedChannel[F, W, RA, RB]
class PromiseChannel[F, A]
class WriteChannelWithExpiration[F[_], A](internal: WriteChannel[F, A], ttl: FiniteDuration, throwTimeouts: Boolean, gopherApi: Gopher[F]) extends WriteChannel[F, A]

Channel, where messages can be exprited.

Channel, where messages can be exprited.

Attributes

Source:
WriteChannelWithExpiration.scala
Graph
Supertypes
trait WriteChannel[F, A]
class Object
trait Matchable
class Any
Known subtypes
class ChannelWithExpiration[F, W, R]

Value members

Concrete methods

def futureInput[F[_], A](f: F[A])(using g: Gopher[F]): ReadChannel[F, A]

represent F[_] as read channel.

represent F[_] as read channel.

Attributes

Source:
Gopher.scala
def makeChannel[A](bufSize: Int, autoClose: Boolean)(using g: Gopher[_[_]]): Channel[Monad, A, A]

Create Read/Write channel.

Create Read/Write channel.

Attributes

autoClose
  • close after first message was written to channel.
bufSize
  • size of buffer. If it is zero, the channel is unbuffered. (i.e. writer is blocked until reader start processing).
See also:

[gopher.Channel]

Source:
Gopher.scala
def makeOnceChannel[A]()(using g: Gopher[_[_]]): Channel[Monad, A, A]

Attributes

Source:
Gopher.scala
def select(using g: Gopher[_[_]]): Select[Monad]

Attributes

Source:
Gopher.scala

Concrete fields

val Gopher: JVMGopher.type

Attributes

Source:
JVMGopher.scala

Extensions

Extensions

extension [F[_], A](c: IterableOnce[A])
def asReadChannel(using g: Gopher[F]): ReadChannel[F, A]

Attributes

Source:
Gopher.scala
extension [F[_], A](fa: F[A])
def asChannel(using g: Gopher[F]): ReadChannel[F, A]

Attributes

Source:
Gopher.scala