BridgeImpl

libretto.scaletto.impl.futurebased.BridgeImpl
object BridgeImpl extends ScalettoBridge

Attributes

Graph
Supertypes
trait PuroBridge
trait Bridge
class Object
trait Matchable
class Any
Show all
Self type
BridgeImpl.type

Members list

Type members

Types

override type Dsl = FreeScaletto.type
override opaque type Execution

Handle to a running Libretto program.

Handle to a running Libretto program.

Attributes

Value members

Concrete methods

def cancelExecution(exn: Execution, pos: SourcePos): Async[Unit]
def execute[A, B](prg: A -⚬ B)(ec: ExecutionContext, scheduler: Scheduler, blockingEC: ExecutionContext): Executing[this.type, A, B]
def watchForCancellation(exn: Execution): Async[CancellationReason]

Concrete fields

override val dsl: FreeScaletto.type

Extensions

Extensions

extension [I](using exn: Execution)(port: exn.InPort[I])
override def prepend[H](f: H -⚬ I): exn.InPort[H]

Attributes

Definition Classes
override def zipIn[J](that: exn.InPort[J]): exn.InPort[I |*| J]

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.InPort[One])
override def dischargeOne(): Unit

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.InPort[Done])
override def supplyDone(): Unit

Attributes

Definition Classes
extension [A, B](using exn: Execution)(port: exn.InPort[A |*| B])
override def unzipIn(): (exn.InPort[A], exn.InPort[B])

Attributes

Definition Classes
extension [A, B](using exn: Execution)(port: exn.InPort[A |+| B])
override def injectLeft(): exn.InPort[A]

Attributes

Definition Classes
override def injectRight(): exn.InPort[B]

Attributes

Definition Classes
extension [A, B](using exn: Execution)(port: exn.InPort[A |&| B])
def awaitChoice(): Async[Either[Throwable, Either[exn.InPort[A], exn.InPort[B]]]]
extension [A](using exn: Execution)(port: exn.OutPort[A])
override def append[B](f: A -⚬ B): exn.OutPort[B]

Attributes

Definition Classes
override def zip[B](that: exn.OutPort[B]): exn.OutPort[A |*| B]

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.OutPort[One])
override def discardOne(): Unit

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.OutPort[Done])
override def awaitDone(): Async[Either[Throwable, Unit]]

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.OutPort[Ping])
override def awaitNoPing(duration: FiniteDuration): Async[Either[Either[Throwable, Unit], exn.OutPort[Ping]]]

Attributes

Definition Classes
override def awaitPing(): Async[Either[Throwable, Unit]]

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.OutPort[Need])
override def supplyNeed(): Unit

Attributes

Definition Classes
extension (using exn: Execution)(port: exn.OutPort[Pong])
override def supplyPong(): Unit

Attributes

Definition Classes
extension [A, B](using exn: Execution)(port: exn.OutPort[A |*| B])
override def unzip(): (exn.OutPort[A], exn.OutPort[B])

Attributes

Definition Classes
extension [A, B](using exn: Execution)(port: exn.OutPort[A |+| B])
override def awaitEither(): Async[Either[Throwable, Either[exn.OutPort[A], exn.OutPort[B]]]]

Attributes

Definition Classes
extension [A, B](using exn: Execution)(port: exn.OutPort[A |&| B])
override def chooseLeft(): exn.OutPort[A]

Attributes

Definition Classes
override def chooseRight(): exn.OutPort[B]

Attributes

Definition Classes
extension [I, O](using exn: Execution)(port: exn.InPort[I =⚬ O])
override def simulateFunction(): (exn.OutPort[I], exn.InPort[O])

Attributes

Definition Classes
extension [I, O](using exn: Execution)(port: exn.OutPort[I =⚬ O])
override def useFunction(): (exn.InPort[I], exn.OutPort[O])

Attributes

Definition Classes
extension [A](using exn: Execution)(port: exn.InPort[Val[A]])
override def supplyVal(value: A): Unit

Attributes

Definition Classes
extension [A](using exn: Execution)(port: exn.OutPort[Val[A]])
override def awaitVal(): Async[Either[Throwable, A]]

Attributes

Definition Classes