default

rescala.fullmv.FullMVUtil.default
object default extends FullMVApi

Attributes

Graph
Supertypes
class FullMVApi
trait TaskBundle
trait Mirror
trait FullMVBundle
trait Interface
trait Operators
trait SourceBundle
trait SignalBundle
trait EventBundle
trait FoldBundle
class Object
trait Matchable
class Any
Show all
Self type
default.type

Members list

Grouped members

internal

Attributes

Inherited from:
Interface
override val scheduler: FullMVEngine

Attributes

Inherited from:
FullMVApi

create

opaque object Event

Similar to rescala.operator.SignalBundle.Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.

Similar to rescala.operator.SignalBundle.Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.

Attributes

See also
Inherited from:
EventBundle
Supertypes
class Object
trait Matchable
class Any
final def Evt[A]()(implicit ticket: CreationTicket[BundleState]): Evt[A]

Attributes

Inherited from:
SourceBundle
object Signal

A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.

A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.

val a: Signal[Int]
val b: Signal[Int]
val result: Signal[String] = Signal { a().toString + b().toString}

Attributes

Inherited from:
SignalBundle
Supertypes
class Object
trait Matchable
class Any
object Var

Creates new Vars

Creates new Vars

Attributes

Inherited from:
SourceBundle
Supertypes
class Object
trait Matchable
class Any

update

def transaction[R](initialWrites: of[BundleState]*)(admissionPhase: (AdmissionTicket[BundleState]) => R): R

Executes a transaction.

Executes a transaction.

Type parameters

R

Result type of the admission function

Value parameters

admissionPhase

An admission function that may rescala.operator.SourceBundle.Evt.admit / rescala.operator.SourceBundle.Var.admit arbitrary input changes that will be applied as an atomic transaction at the end.

initialWrites

All inputs that might be changed by the transaction

Attributes

Returns

Result of the admission function

Example

transaction(a, b){ implicit at => a.set(5); b.set(1); at.now(a) }

Inherited from:
Interface
def transactionWithWrapup[I, R](iw: of[BundleState]*)(ap: (AdmissionTicket[BundleState]) => I)(wrapUp: (I, Transaction[BundleState]) => R): R

Executes a transaction with WrapUpPhase.

Executes a transaction with WrapUpPhase.

Attributes

See also

transaction

Inherited from:
Interface

Type members

Inherited classlikes

trait Event[+T] extends MacroAccess[Option[T]], Disconnectable

Events only propagate a value when they are changing, when the system is at rest, events have no values.

Events only propagate a value when they are changing, when the system is at rest, events have no values.

Note: We hide implicit parameters of the API in the documentation. They are used to ensure correct creation, and you normally do not have to worry about them, except if you accidentally call the implicit parameter list, in which cas you may get cryptic errors. This is a scala limitation. We also hide the internal state parameter of passed and returned events.

Type parameters

T

Value type of the event occurrences.

Attributes

Inherited from:
EventBundle
Supertypes
trait MacroAccess[Option[T]]
trait ReadAs[Option[T]]
trait ReSource
class Object
trait Matchable
class Any
Show all
Known subtypes
class Evt[T]
object Events

Attributes

Inherited from:
EventBundle
Supertypes
class Object
trait Matchable
class Any
class Evt[T] extends Base[BundleState, Pulse[T]], Source[T], Event[T]

Source events with imperative occurrences

Source events with imperative occurrences

Type parameters

S

Struct type used for the propagation of the event

T

Type returned when the event fires

Value parameters

initialState

of by the event

Attributes

Inherited from:
SourceBundle
Supertypes
trait Event[T]
trait MacroAccess[Option[T]]
trait ReadAs[Option[T]]
trait Source[T]
class Base[BundleState, Pulse[T]]
trait ReSource
class Object
trait Matchable
class Any
Show all
trait Flatten[-A, R]

Attributes

Inherited from:
FlattenBundle
Supertypes
class Object
trait Matchable
class Any
object Fold

Folds when any one of a list of events occurs, if multiple events occur, every fold is executed in order.

Folds when any one of a list of events occurs, if multiple events occur, every fold is executed in order.

Example for a counter that can be reset:

 Fold(0)(
   add act { x => current + v },
   reset act { _ => 0 }
 )

Attributes

Inherited from:
FoldBundle
Supertypes
class Object
trait Matchable
class Any
class Framing(val turn: FullMVTurn, val node: of[State]) extends FramingTask

Attributes

Inherited from:
TaskBundle
Supertypes
trait FramingTask
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
trait FramingTask extends FullMVAction

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
Known subtypes
trait FullMVAction extends RecursiveAction

Attributes

Inherited from:
TaskBundle
Supertypes
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
Known subtypes
class FullMVEngine(val timeout: Duration, val schedulerName: String) extends SchedulerImpl[State, TransactionHandle], FullMVTurnHost, HostImpl[FullMVTurn]

Attributes

Inherited from:
FullMVBundle
Supertypes
trait Host[FullMVTurn]
trait Scheduler[State]
class Object
trait Matchable
class Any
Show all
trait FullMVState[V, T <: FullMVTurn]

Attributes

Inherited from:
FullMVBundle
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object FullMVTurn

Attributes

Inherited from:
FullMVBundle
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
FullMVBundle
Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes
trait FullMVTurnHost extends Host[FullMVTurn]

Attributes

Inherited from:
Mirror
Supertypes
trait Host[FullMVTurn]
class Object
trait Matchable
class Any
Known subtypes
class FullMVEngine
class FullMVTurnImpl(val host: FullMVEngine, val guid: GUID, val userlandThread: Thread, initialLock: SubsumableLock) extends FullMVTurn

Attributes

Inherited from:
TurnImplBundle
Supertypes
trait FullMVTurn
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
TurnImplBundle
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
Mirror
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
Mirror
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
Mirror
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class NonblockingSkipListVersionHistory[V, T <: FullMVTurn](init: T, val valuePersistency: V) extends FullMVState[V, T]

A node version history datastructure

A node version history datastructure

Type parameters

InDep

the type of incoming dependency nodes

OutDep

the type of outgoing dependency nodes

T

the type of transactions

V

the type of stored values

Value parameters

init

the initial creating transaction

valuePersistency

the value persistency descriptor

Attributes

Inherited from:
FullMvStateBundle
Supertypes
trait FullMVState[V, T]
class Object
trait Matchable
class Any

Attributes

Inherited from:
FullMvStateBundle
Supertypes
class Object
trait Matchable
class Any
class Notification(val turn: FullMVTurn, val node: of[State], val changed: Boolean) extends NotificationAction[of[State]], RegularReevaluationHandling

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
Known subtypes
class NotificationWithFollowFrame(val turn: FullMVTurn, val node: of[State], val changed: Boolean, followFrame: FullMVTurn) extends NotificationAction[of[State]], RegularReevaluationHandling

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
Mirror
Supertypes
class Object
trait Matchable
class Any
class Reevaluation(val turn: FullMVTurn, val node: of[State]) extends RegularReevaluationHandling

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
trait ReevaluationHandling[N <: of[State]] extends FullMVAction

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Inherited from:
TurnImplBundle
Supertypes
class Object
trait Matchable
class Any
trait Signal[+T] extends Disconnectable, MacroAccess[T], ReSource

Time changing value derived from the dependencies.

Time changing value derived from the dependencies.

Type parameters

T

Type stored by the signal

Attributes

Inherited from:
SignalBundle
Supertypes
trait MacroAccess[T]
trait ReadAs[T]
trait ReSource
class Object
trait Matchable
class Any
Show all
Known subtypes
class Var[A]
trait Source[T] extends ReSource

Attributes

Inherited from:
SourceBundle
Supertypes
trait ReSource
class Object
trait Matchable
class Any
Known subtypes
class Evt[T]
class Var[A]
class SourceNotification(val turn: FullMVTurn, val node: of[State], val changed: Boolean) extends NotificationAction[of[State]], SourceReevaluationHandling

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
class SourceReevaluation(val turn: FullMVTurn, val node: of[State]) extends SourceReevaluationHandling

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
TaskBundle
Supertypes
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Inherited from:
SubsumableLockBundle
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
SubsumableLockBundle
Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes
object lockHost
class SubsumableLockImpl(val host: SubsumableLockHost, val guid: GUID) extends SubsumableLock

Attributes

Inherited from:
SubsumableLockBundle
Supertypes
class Object
trait Matchable
class Any
Show all
class SupersedeFraming(val turn: FullMVTurn, val node: of[State], supersede: FullMVTurn) extends FramingTask

Attributes

Inherited from:
TaskBundle
Supertypes
trait FramingTask
trait FullMVAction
class RecursiveAction
class ForkJoinTask[Void]
trait Serializable
trait Future[Void]
class Object
trait Matchable
class Any
Show all
case class TransactionHandle(ti: FullMVTurn) extends Transaction[State]

Attributes

Inherited from:
FullMVBundle
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class Var[A] extends Base[BundleState, Pulse[A]], Source[A], Signal[A]

Source signals with imperatively updates.

Source signals with imperatively updates.

Type parameters

A

Type stored by the signal

Attributes

Inherited from:
SourceBundle
Supertypes
trait Signal[A]
trait MacroAccess[A]
trait ReadAs[A]
trait Source[A]
class Base[BundleState, Pulse[A]]
trait ReSource
class Object
trait Matchable
class Any
Show all

Inherited types

override type BundleState[V] = State[V]

Attributes

Inherited from:
FullMVApi
type OutDep = of[State]

Attributes

Inherited from:
FullMVBundle
type Reactive = of[State]

Attributes

Inherited from:
FullMVBundle
type State[V] = FullMVState[V, FullMVTurn]

Attributes

Inherited from:
FullMVBundle

Value members

Inherited methods

inline def current[S](using fs: FoldState[S]): S

Attributes

Inherited from:
FoldBundle
def firstFiringEvent[B, T <: (IterableOps), Evnt <: (Event)](using CreationTicket[BundleState]): Flatten[Signal[T[Evnt[B]]], Event[B]]

Flatten a Signal[Traversable[Event[B]]] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.

Flatten a Signal[Traversable[Event[B]]] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.

Attributes

Inherited from:
FlattenBundle
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Interface -> Any
Inherited from:
Interface

Flatten a Signal[Traversable[Event[B]]] into a Event[Traversable[Option[B]]] where the new Event fires whenever any of the inner events fire

Flatten a Signal[Traversable[Event[B]]] into a Event[Traversable[Option[B]]] where the new Event fires whenever any of the inner events fire

Attributes

Inherited from:
FlattenBundle

Inherited fields

Attributes

Inherited from:
FullMVApi

Attributes

Inherited from:
FullMVApi

Extensions

Inherited extensions

extension [T](e: Event[T])
infix inline def act[S](inline f: (FoldState[S]) ?=> T => S): Branch[S]

Attributes

Inherited from:
FoldBundle

Implicits

Inherited implicits

implicit def flattenImplicitForArraySignals[B : ClassTag, Sig <: (Signal)](implicit evidence$1: ClassTag[B], CreationTicket[BundleState]): Flatten[Signal[Array[Sig[B]]], Signal[Array[B]]]

Flatten a Signal[Array[Signal[B]]] into a Signal[Array[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Flatten a Signal[Array[Signal[B]]] into a Signal[Array[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Attributes

Inherited from:
FlattenBundle
implicit def flattenImplicitForIterableSignals[B, Iter <: (IterableOps), Sig <: (Signal)](using CreationTicket[BundleState]): Flatten[Signal[Iter[Sig[B]]], Signal[Iter[B]]]

Flatten a Signal[Traversable[Signal[B]]] into a Signal[Traversable[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Flatten a Signal[Traversable[Signal[B]]] into a Signal[Traversable[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Attributes

Inherited from:
FlattenBundle

Flatten a Signal[Option[Signal[B]]] into a Signal[Option[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Flatten a Signal[Option[Signal[B]]] into a Signal[Option[B]] where the new Signal updates whenever any of the inner or the outer signal updates

Attributes

Inherited from:
FlattenBundle
implicit def flattenImplicitForevent[A, B, Evnt <: (Event)](using CreationTicket[BundleState]): Flatten[Signal[Evnt[B]], Event[B]]

Flatten a Signal[Event[B]]] into a Event[B] where the new Event fires whenever the current inner event fires

Flatten a Signal[Event[B]]] into a Event[B] where the new Event fires whenever the current inner event fires

Attributes

Inherited from:
FlattenBundle

Flatten a Event[Option[B]] into a Event[B] that fires whenever the inner option is defined.

Flatten a Event[Option[B]] into a Event[B] that fires whenever the inner option is defined.

Attributes

Inherited from:
FlattenBundle

Flatten a Signal[Signal[B]] into a Signal[B] that changes whenever the outer or inner signal changes.

Flatten a Signal[Signal[B]] into a Signal[B] that changes whenever the outer or inner signal changes.

Attributes

Inherited from:
FlattenBundle