gopher

package gopher

Type members

Classlikes

trait Channel[F[_], W, R] extends WriteChannel[F, W] with ReadChannel[F, R] with Closeable
Companion
object
object Channel
Companion
class
class ChannelClosedException extends RuntimeException
class ChannelWithExpiration[F[_], W, R](internal: Channel[F, W, R], ttl: FiniteDuration, throwTimeouts: Boolean) extends WriteChannelWithExpiration[F, W] with Channel[F, W, R]
class DeadlockDetected extends RuntimeException
case object DefaultGopherConfig extends GopherConfig
class DuppedInput[F[_], A](origin: ReadChannel[F, A], bufSize: Int)(using api: Gopher[F])
trait Gopher[F[_]]
trait GopherAPI
class JSGopher[F[_]](cfg: JSGopherConfig)(implicit evidence$1: CpsSchedulingMonad[F]) extends Gopher[F]
Companion
object
object JSGopher extends GopherAPI
Companion
class
case class JSGopherConfig(flawor: String) extends GopherConfig
object Platform
trait ReadChannel[F[_], A]

ReadChannel: Interface providing reading API.

ReadChannel: Interface providing reading API.

Companion
object
object ReadChannel
Companion
class
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.

object SelectFold

Helper namespace for Select.Fold return value

Helper namespace for Select.Fold return value

See also

[Select.fold]

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.

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.

See also

[gopher.Select]

[gopher.select]

abstract class SelectGroupBuilder[F[_], S, R](api: Gopher[F]) extends SelectListeners[F, S, R]
trait SelectListeners[F[_], S, R]
class SelectLoop[F[_]](api: Gopher[F]) extends SelectGroupBuilder[F, Boolean, Unit]
object SelectMacro

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.

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.

See also

gopherApi#time

Companion
object
object Time
Companion
class
trait WriteChannel[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.

Value members

Concrete methods

def futureInput[F[_], A](f: F[A])(using g: Gopher[F]): ReadChannel[F, A]
def makeChannel[A](bufSize: Int, autoClose: Boolean)(using g: Gopher[_[_]]): Channel[Monad, A, A]
def makeOnceChannel[A](using g: Gopher[_[_]]): Channel[Monad, A, A]
def select(using g: Gopher[_[_]]): Select[Monad]

Concrete fields

Extensions

Extensions

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