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]
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 JVMGopher[F[_]](cfg: JVMGopherConfig)(`evidence$1`: CpsSchedulingMonad[F]) extends Gopher[F]
Companion
object
object JVMGopher extends GopherAPI
Companion
class
case class JVMGopherConfig(controlExecutor: ExecutorService, taskExecutor: ExecutorService) extends GopherConfig
class JVMTime[F[_]](gopherAPI: JVMGopher[F]) extends Time[F]
object Platform
trait ReadChannel[F[_], A]
Companion
object
object ReadChannel
Companion
class
class Select[F[_]](api: Gopher[F])
Companion
object
object Select
Companion
class
object SelectFold
class SelectForever[F[_]](api: Gopher[F]) extends SelectGroupBuilder[F, Unit, Unit]
class SelectGroup[F[_], S](api: Gopher[F]) extends SelectListeners[F, S, S]

Select group is a virtual 'lock' object, where only ne fro rieader and writer can exists at the sae time.

Select group is a virtual 'lock' object, where only ne fro rieader and writer can exists at the sae time.

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]

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]