trait ContinuationDsl extends SystemBuilderDsl
A builder that creates a kind of state machine. The state contains a continuation. On every processed signal a new continuation is generated. Usually the last statement of the continuation is a call to some constructor method that creates a continuation for the next signal.
- Alphabetic
- By Inheritance
- ContinuationDsl
- SystemBuilderDsl
- DevNullExt
- AuxNumberingExt
- ContactStyleExt
- NextLabelExt
- SystemBuilderApi
- ExceptionHandlingExt
- TrellisApi
- SignalsApi
- ContactsDsl
- ComponentsApi
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class ContactExtractor[T] extends AnyRef
Extractor of contacts' data from result.
Extractor of contacts' data from result.
- Definition Classes
- SignalsApi
- implicit class RichSignalList extends AnyRef
- Definition Classes
- SignalsApi
- case class SubsystemDirectSignal[T](subsystemName: String, signal: SignalsApi.Signal[T]) extends SubsystemDirectSignal0 with Product with Serializable
An encapsulation of the signal that targets a subsystem's internal contact.
An encapsulation of the signal that targets a subsystem's internal contact.
- Definition Classes
- SignalsApi
- sealed trait SubsystemDirectSignal0 extends AnyRef
- Definition Classes
- SignalsApi
- case class SubsystemDirectSignalDist(subsystemName: String, signal: SignalsApi.SignalDist) extends SubsystemDirectSignal0 with Product with Serializable
- Definition Classes
- SignalsApi
- type Component = components.Component
- Definition Classes
- ComponentsApi
- type ComponentWithInternalStructure = components.ComponentWithInternalStructure
- Definition Classes
- ComponentsApi
- type Contact[T] = components.Contact[T]
- Definition Classes
- ComponentsApi
- type Context = Map[Contact[_], _]
The context for system is a map from state handles to values.
The context for system is a map from state handles to values.
- Definition Classes
- TrellisApi
- type FCont[T1, T2] = (T1) => Continuation[T1, T2]
- type FlatMapLink[-T1, +T2] = components.FlatMapLink[T1, T2]
- Definition Classes
- ComponentsApi
- implicit class ImplContLinkBuilder[T1, T2] extends AnyRef
- type Link[T1, T2, -TL1 >: T1, +TL2 <: T2] = components.Link[T1, T2, TL1, TL2]
- Definition Classes
- ComponentsApi
- type LinkInfo[-T1, +T2] = components.LinkInfo[T1, T2]
- Definition Classes
- ComponentsApi
- type Named = components.Named
- Definition Classes
- ComponentsApi
- type NopLink[-T1, +T2 >: T1] = components.NopLink[T1, T2]
- Definition Classes
- ComponentsApi
- type RedMapLink[-T1, +T2] = components.RedMapLink[T1, T2]
- Definition Classes
- ComponentsApi
- type Signal[T] = components.Signal[T]
- Definition Classes
- ComponentsApi
- type SignalCollection[+T] = Iterable[T]
- Definition Classes
- ComponentsApi
- type SignalDist = components.SignalDist
- Definition Classes
- ComponentsApi
- type SimpleSignalProcessor = (Signal[_]) => SignalCollection[Signal[_]]
The simplest signal processor.
The simplest signal processor. Corresponds to FlatMap.
- Definition Classes
- TrellisApi
- type StateHandle[T] = components.StateHandle[T]
- Definition Classes
- ComponentsApi
- type StateZipLink[S, -T1, +T2 >: T1] = components.StateZipLink[S, T1, T2]
- Definition Classes
- ComponentsApi
- type StatefulFlatMapLink[S, -T1, +T2] = components.StatefulFlatMapLink[S, T1, T2]
- Definition Classes
- ComponentsApi
- type StaticSystem = components.StaticSystem
- Definition Classes
- ComponentsApi
- type StaticSystemExtensionId[+T] = components.StaticSystemExtensionId[T]
- Definition Classes
- ComponentsApi
- type TotalTrellisProducer = (Context, Signal[_]) => TrellisElement
A function that takes a single signal on input and returns the last trellis element.
A function that takes a single signal on input and returns the last trellis element. This producer does not store managed state in it.
- Definition Classes
- TrellisApi
- type TrellisElement = (Context, SignalCollection[Signal[_]])
A snapshot of a running system at some discrete time moment.
A snapshot of a running system at some discrete time moment.
- Definition Classes
- TrellisApi
- type TrellisProducer = (TrellisElement) => TrellisElement
A function that makes single step (or a few steps) over time.
A function that makes single step (or a few steps) over time.
- Definition Classes
- TrellisApi
- type UnhandledProcessingExceptionHandler = (Throwable, String, Signal[_], Context) => Context
The type of a handler that will handle exceptions during signal processing.
The type of a handler that will handle exceptions during signal processing. If the exception is recoverable, then the handler should provide a new Context for further processing. If not recoverable - throw some exception (or rethrow the original one).
- Definition Classes
- ExceptionHandlingExt
- type WithStaticSystem = components.WithStaticSystem
- Definition Classes
- ComponentsApi
- implicit class ContactOps[T] extends AnyRef
New methods available on contacts that construct links.
New methods available on contacts that construct links.
- Definition Classes
- SystemBuilderDsl
- implicit class ContactPairOps[Key, T] extends AnyRef
Miscellaneous operations with prefixed data.
Miscellaneous operations with prefixed data.
- Definition Classes
- SystemBuilderDsl
- class ContactWithState[T1, S] extends AnyRef
- Definition Classes
- SystemBuilderDsl
- implicit class DirectLinkBuilderOps[T1, T2 >: T1] extends AnyRef
- Definition Classes
- SystemBuilderDsl
- implicit class LinkBuilderOps[T1, T2] extends AnyRef
DSL methods for creating links between the two given contacts.
DSL methods for creating links between the two given contacts.
- Definition Classes
- SystemBuilderDsl
- implicit class StateLinkBuilder2Ops[T1, T2, S] extends AnyRef
- Definition Classes
- SystemBuilderDsl
- implicit class StateOps[S] extends AnyRef
- Definition Classes
- SystemBuilderDsl
- implicit class ZippingLinkOps[S, T] extends AnyRef
- Definition Classes
- SystemBuilderDsl
- class AuxContactNumberingExt extends SystemBuilderExtension
- Definition Classes
- AuxNumberingExt
- trait ContactStyle extends AnyRef
- Definition Classes
- ContactStyleExt
- class ContactStyleExtension extends SystemBuilderExtension
- Definition Classes
- ContactStyleExt
- case class ContactStyleStaticExtension(styles: Map[ContactStyleExt.Contact[_], ContactStyle]) extends Product with Serializable
- Definition Classes
- ContactStyleExt
- implicit class StyleableContact[T] extends AnyRef
- Definition Classes
- ContactStyleExt
- class DevNullExtension extends SystemBuilderExtension
- Definition Classes
- DevNullExt
- implicit class StaticSystemWithUnhandledExceptionHandler extends AnyRef
- Definition Classes
- ExceptionHandlingExt
- class LabellingExt extends SystemBuilderExtension
An extension that adds easy labelling to System builder.
An extension that adds easy labelling to System builder.
- Definition Classes
- NextLabelExt
- trait OuterInterfaceBuilder extends AnyRef
An interface of some object that can collect information about outer interface of a system.
An interface of some object that can collect information about outer interface of a system. Not only it create contact instances, but it usually transforms and collect them.
- Definition Classes
- SystemBuilderApi
- trait SystemBuilder extends OuterInterfaceBuilder with WithStaticSystem
DSL for constructing systems.
DSL for constructing systems.
This builder supports step-by-step creation of contact system. At the end one must convert it to StaticSystem.
The builder supports the notion of extensions (much like akka actor system extensions). When we need to store additional information during system construction, we may request an extention instance from the builder. The builder creates the singleton instance if it is not available yet and returns it.
The builder is used in BaseTypedSystem as a DSL for system's construction.
- Definition Classes
- SystemBuilderApi
- class SystemBuilderC extends SystemBuilder
- Definition Classes
- SystemBuilderApi
- trait SystemBuilderExtension extends AnyRef
An extension that adds some additional state to SystemBuilder.
An extension that adds some additional state to SystemBuilder. It also has an opportunity to adjust the generated StaticSystem via hook #postProcess
- Definition Classes
- SystemBuilderApi
- final class SystemBuilderExtensionId[T <: SystemBuilderExtension] extends AnyRef
ExtensionId for a system builder.
ExtensionId for a system builder. Every extension can be installed only once on the same SystemBuilder. An instance of the extension is created by the extend method.
- Definition Classes
- SystemBuilderApi
- implicit class RichSimpleSignalProcessor extends AnyRef
- Definition Classes
- TrellisApi
- implicit class RichTotalTrellisProducer extends AnyRef
- Definition Classes
- TrellisApi
Value Members
- object SubsystemDirectSignal0
- Definition Classes
- SignalsApi
- object SubsystemSpecialAnswerContact extends Contact[SubsystemDirectSignal0]
This contact is used to process answers of internal system.
This contact is used to process answers of internal system.
- Definition Classes
- SignalsApi
- object SubsystemSpecialContact extends Contact[SubsystemDirectSignal0]
This contact is used to process signals of internal system.
This contact is used to process signals of internal system.
In asynchronous execution the resulting signal should come at the same level of "call stack". However as far as we usually get the signal asynchronously it is processed at top level. So in order to run it in inside the subsystem, we package asynchronous result into Signal(SubsystemSpecialContact, SubsystemDirectSignal( name, actual resulting signal))
- Definition Classes
- SignalsApi
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit val AuxContactNumberingExtId: SystemBuilderExtensionId[AuxContactNumberingExt]
- Definition Classes
- AuxNumberingExt
- val Contact: components.Contact.type
- Definition Classes
- ComponentsApi
- implicit val ContactStyleExtId: SystemBuilderExtensionId[ContactStyleExtension]
- Definition Classes
- ContactStyleExt
- implicit val DevNullExtId: SystemBuilderExtensionId[DevNullExtension]
- Definition Classes
- DevNullExt
- val FlatMapLink: components.FlatMapLink.type
- Definition Classes
- ComponentsApi
- implicit val LabellingExtId: SystemBuilderExtensionId[LabellingExt]
- Definition Classes
- NextLabelExt
- val Link: components.Link.type
- Definition Classes
- ComponentsApi
- val NopLink: components.NopLink.type
- Definition Classes
- ComponentsApi
- val RedMapLink: components.RedMapLink.type
- Definition Classes
- ComponentsApi
- val Signal: components.Signal.type
- Definition Classes
- ComponentsApi
- val SignalCollection: Iterable.type
- Definition Classes
- ComponentsApi
- val SignalDist: components.SignalDist.type
- Definition Classes
- ComponentsApi
- val StateHandle: components.StateHandle.type
- Definition Classes
- ComponentsApi
- val StateZipLink: components.StateZipLink.type
- Definition Classes
- ComponentsApi
- val StatefulFlatMapLink: components.StatefulFlatMapLink.type
- Definition Classes
- ComponentsApi
- val StaticSystem: components.StaticSystem.type
- Definition Classes
- ComponentsApi
- val WithStaticSystem: components.WithStaticSystem.type
- Definition Classes
- ComponentsApi
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def auxContact[T](implicit sb: SystemBuilder): Contact[T]
- Definition Classes
- AuxNumberingExt
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def connect[T1, T2 >: T1](c1: Contact[T1], c2: Contact[T2], name: String = "")(implicit sb: SystemBuilder): Contact[T2]
- Definition Classes
- SystemBuilderDsl
- def contact[T](name: String): components.Contact[T]
Create a contact with the given name.
Create a contact with the given name.
- Definition Classes
- ContactsDsl
- val defaultUnhandledExceptionHandler: UnhandledProcessingExceptionHandler
- Definition Classes
- ExceptionHandlingExt
- def devNull(implicit sb: SystemBuilder): Contact[Any]
Special contact for consuming unnecessary data values.
Special contact for consuming unnecessary data values. It is often used as a sink contact in foreach and exec commands.
- Definition Classes
- DevNullExt
- def done[T1, T2](result: Seq[T2]): Continuation[T1, T2]
Go into the final state
- def doneFinal[T1, T2]: Continuation[T1, T2]
Done with empty results.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def extension[T <: SystemBuilderExtension](implicit sb: SystemBuilder, extensionInstance: SystemBuilderExtensionId[T]): T
Usage: extension[LabellingExt].methodInExtension
Usage: extension[LabellingExt].methodInExtension
- Definition Classes
- SystemBuilderApi
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit def implicitExtendBasicSystemBuilder[T <: SystemBuilderExtension](sb: SystemBuilder)(implicit extensionInstanceId: SystemBuilderExtensionId[T]): T
Automatic usage of extensions when an implicit extension id is present in the scope.
Automatic usage of extensions when an implicit extension id is present in the scope.
- Definition Classes
- SystemBuilderApi
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mappedInput[T, T2 >: T](c1: Contact[T], c2: Contact[T2])(implicit sb: SystemBuilder): Contact[T2]
Declares the first contact as input and creates link to the second
Declares the first contact as input and creates link to the second
- Definition Classes
- SystemBuilderDsl
- def mappedOutput[T, T2 >: T](c1: Contact[T], c2: Contact[T2])(implicit sb: SystemBuilder): Contact[T]
Declares the second contact as output and creates link from the first.
Declares the second contact as output and creates link from the first. NB! Returns inner contact c1.
- Definition Classes
- SystemBuilderDsl
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def next[T1, T2](body: FCont[T1, T2]): Continuation[T1, T2]
Returns some piece of code to run next time the data is passing via the link
- def nextAndPass[T1, T2](body: FCont[T1, T2], intermediateResult: Seq[T2]): Continuation[T1, T2]
returns both the piece of code to run next time and the data to return this time.
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit def pairToSignal[T](p: (Contact[T], T)): Signal[T]
One may use notation (contact -> data) to represent a signal
One may use notation (contact -> data) to represent a signal
- Definition Classes
- SignalsApi
- def passAndNext[T1, T2](intermediateResult: Seq[T2])(body: FCont[T1, T2]): Continuation[T1, T2]
returns both the piece of code to run next time and the data to return this time.
returns both the piece of code to run next time and the data to return this time.
The same as nextAndPass but with different order of arguments.
- val rethrowUnhandledExceptionHandler: UnhandledProcessingExceptionHandler
- Definition Classes
- ExceptionHandlingExt
- implicit def sbToAux(sb: SystemBuilder): AuxContactNumberingExt
- Definition Classes
- AuxNumberingExt
- implicit def sbToLabelling(sb: SystemBuilder): LabellingExt
- Definition Classes
- NextLabelExt
- def setSystemName(name: String)(implicit sb: SystemBuilder): Unit
- Definition Classes
- SystemBuilderApi
- def state[T](name: String, s0: T)(implicit sb: SystemBuilder): StateHandle[T]
- Definition Classes
- SystemBuilderApi
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- case object AuxiliaryContact extends ContactStyle with Product with Serializable
- Definition Classes
- AuxNumberingExt
- implicit object ContactStyleStaticExtId extends StaticSystemExtensionId[ContactStyleStaticExtension]
- Definition Classes
- ContactStyleExt
- case object NormalContact extends ContactStyle with Product with Serializable
Default style for contact.
Default style for contact.
- Definition Classes
- ContactStyleExt
- case object DevNullContact extends ContactStyle with Product with Serializable
- Definition Classes
- DevNullExt
- implicit object UnhandledExceptionHandlerExtensionId extends StaticSystemExtensionId[UnhandledProcessingExceptionHandler]
- Definition Classes
- ExceptionHandlingExt
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated