gopher

package gopher

Members list

Packages

package gopher.impl
package gopher.monads

Type members

Classlikes

trait Channel[F[_], W, R] extends WriteChannel[F, W], ReadChannel[F, R], 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
Supertypes
trait Closeable
trait AutoCloseable
trait ReadChannel[F, R]
trait WriteChannel[F, W]
class Object
trait Matchable
class Any
Show all
Known subtypes
class BaseChannel[F, A]
class BufferedChannel[F, A]
class PromiseChannel[F, A]
class UnbufferedChannel[F, A]
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 ChannelWithExpiration[F, W, R]
Show all
object Channel

Attributes

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

Attributes

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

Attributes

Source
ChannelWithExpiration.scala
Supertypes
trait Channel[F, W, R]
trait Closeable
trait AutoCloseable
trait ReadChannel[F, R]
trait WriteChannel[F, W]
class Object
trait Matchable
class Any
Show all
class DeadlockDetected extends RuntimeException

Attributes

Source
DeadlockDetected.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
case object DefaultGopherConfig extends GopherConfig

Attributes

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

Attributes

Source
DuppedInput.scala
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class JSGopher[F]
trait GopherAPI

Attributes

Source
GopherAPI.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object JSGopher
trait GopherConfig

Attributes

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

Attributes

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

Attributes

Companion
class
Source
JSGopher.scala
Supertypes
trait GopherAPI
class Object
trait Matchable
class Any
Self type
JSGopher.type
case class JSGopherConfig(flawor: String) extends GopherConfig

Attributes

Source
JSGopherConfig.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait GopherConfig
class Object
trait Matchable
class Any
Show all
object Platform

Attributes

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

ReadChannel: Interface providing asynchronous reading API.

ReadChannel: Interface providing asynchronous reading API.

Attributes

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

Attributes

Companion
trait
Source
ReadChannel.scala
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
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
Supertypes
class Object
trait Matchable
class Any
Self type
SelectFold.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
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
Supertypes
trait SelectListeners[F, S, S]
class Object
trait Matchable
class Any
Self type
SelectGroup[F, S]
abstract class SelectGroupBuilder[F[_], S, R](api: Gopher[F]) extends SelectListeners[F, S, R]

Attributes

Source
SelectListeners.scala
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
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
Supertypes
class SelectGroupBuilder[F, Boolean, Unit]
trait SelectListeners[F, Boolean, Unit]
class Object
trait Matchable
class Any
object SelectMacro

Attributes

Source
SelectMacro.scala
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
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class JSTime[F]
object Time

Attributes

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

Attributes

Source
WriteChannel.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Channel[F, W, R]
class BaseChannel[F, A]
class BufferedChannel[F, A]
class PromiseChannel[F, A]
class UnbufferedChannel[F, A]
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 ChannelWithExpiration[F, W, R]
Show all
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
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[g.Monad, A, A]

Create Read/Write channel.

Create Read/Write channel.

Value parameters

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).

Attributes

See also

[gopher.Channel]

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

Attributes

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

Attributes

Source
Gopher.scala

Concrete fields

val Gopher: JSGopher.type

Attributes

Source
JSGopher.scala

Extensions

Extensions

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

Attributes

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

Attributes

Source
Gopher.scala