trait SelectTransputer extends ForeverSelectorBuilder with Transputer
Transputer, where dehaviour can be described by selector function
- Alphabetic
- By Inheritance
- SelectTransputer
- Transputer
- ForeverSelectorBuilder
- SelectorBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
timeout = FiniteDuration
- Definition Classes
- SelectorBuilder
-
class
InPort
[A] extends Input[A]
- Definition Classes
- Transputer
-
class
OutPort
[A] extends Output[A]
- Definition Classes
- Transputer
Abstract Value Members
-
abstract
def
api: GopherAPI
- Definition Classes
- Transputer
-
abstract
def
recoverFactory: () ⇒ Transputer
Used for recover failed instances
Used for recover failed instances
- Definition Classes
- Transputer
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(p: Transputer): ParTransputer
- Definition Classes
- Transputer
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
macro
def
apply(f: PartialFunction[Any, Unit]): Future[Unit]
provide syntax for running select loop as async operation.
provide syntax for running select loop as async operation.
val receiver = gopherApi.select.forever{ case x: channel.read => Console.println(s"received:$x") }
- Definition Classes
- ForeverSelectorBuilder
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
copyPorts(prev: Transputer): Unit
copy conection from previous instance when transputer is restarted.
copy conection from previous instance when transputer is restarted.
- Definition Classes
- Transputer
-
def
copyState(prev: Transputer): Unit
copyState from previous instance when transputer is restarted.
copyState from previous instance when transputer is restarted. can be overriden in subclasses (by default: do nothing)
Note, that port connection is restored before call of copyState
- Definition Classes
- Transputer
-
implicit
def
ec: ExecutionContext
- Definition Classes
- SelectorBuilder
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
failureLimit(maxFailures: Int = recoveryLimits.maxFailures, windowDuration: Duration = recoveryLimits.windowDuration): SelectTransputer.this.type
set failure limit.
set failure limit. (when number of failures during windowsDuration is bigger than maxFailures, TooManyFailures exception is escalated to parent transputer.
- Definition Classes
- Transputer
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
macro
def
foreach(f: (Any) ⇒ Unit): Unit
provide syntax for running select loop inside go (or async) block example of usage:
provide syntax for running select loop inside go (or async) block example of usage:
go { ..... for(s <- gopherApi.select.forever) s match { case x: ch1.read => do something with x case q: chq.read => implicitly[FlowTermination[Unit]].doExit(()) case y: ch2.write if (y=expr) => do something with y case _ => do somethig when idle. }
Note, that you can use implicit instance of [FlowTermination[Unit]] to stop loop.
- Definition Classes
- ForeverSelectorBuilder
-
def
futureInput[A](f: Future[A]): FutureInput[A]
- Definition Classes
- SelectorBuilder
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
final
def
go: Future[Unit]
- Definition Classes
- SelectorBuilder
-
def
goOnce: Future[Unit]
- Definition Classes
- SelectTransputer → Transputer
-
macro
def
handleError(f: (Throwable) ⇒ Unit): ForeverSelectorBuilder
- Definition Classes
- ForeverSelectorBuilder
-
def
handleErrorWithFlowTerminationAsync(f: (ExecutionContext, FlowTermination[Unit], Continuated[Unit], Throwable) ⇒ Future[Unit]): SelectTransputer.this.type
- Definition Classes
- ForeverSelectorBuilder
- Annotations
- @inline()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
macro
def
idle(body: Unit): ForeverSelectorBuilder
- Definition Classes
- ForeverSelectorBuilder
-
macro
def
input[B](f: PartialFunction[Any, B]): Input[B]
- Definition Classes
- ForeverSelectorBuilder
-
def
inputBuilder[B](): InputSelectorBuilder[B]
- Definition Classes
- ForeverSelectorBuilder
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
implicit
def
logSource: LogSource[Transputer]
- Definition Classes
- Transputer
-
macro
def
loop(f: PartialFunction[Any, Unit]): Unit
configure loop in selector
-
macro
def
map[B](f: (Any) ⇒ B): Input[B]
provide syntax for creating output channels.
provide syntax for creating output channels.
val multiplexed = for(s <- gopherApi.select.forever) yield s match { case x: channelA => s"A:${x}" case x: channelB => s"B:${x}" }
- Definition Classes
- ForeverSelectorBuilder
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
onError(arg: ErrorSelectorArgument[Unit]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
-
def
onEscalatedFailure(ex: Throwable): Unit
called when failure is escalated.
called when failure is escalated.
- Attributes
- protected
- Definition Classes
- SelectTransputer → Transputer
-
def
onIdle(arg: SkipSelectorArgument[Unit]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
-
def
onRead[E](ch: Input[E])(arg: ReadSelectorArgument[E, Unit]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
-
def
onRestart(prev: Transputer): Unit
called when transducer is restarted.
called when transducer is restarted.
- prev
- previous (i.e. failed) instance of trnasputer.
- Attributes
- protected
- Definition Classes
- Transputer
-
def
onResume(): Unit
called when transducer is choose to resume durign recovery.
called when transducer is choose to resume durign recovery.
- Attributes
- protected
- Definition Classes
- Transputer
-
def
onStart(): Unit
called when transducer is started.
called when transducer is started.
- Attributes
- protected
- Definition Classes
- Transputer
-
def
onStop(): Unit
called when transputer is stopped.
called when transputer is stopped.
- Attributes
- protected
- Definition Classes
- SelectTransputer → Transputer
-
def
onTimeout(t: FiniteDuration)(arg: SkipSelectorArgument[Unit]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
-
def
onWrite[E](ch: Output[E])(arg: WriteSelectorArgument[E, Unit]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
-
macro
def
reading[A](ch: Input[A])(f: (A) ⇒ Unit): ForeverSelectorBuilder
- Definition Classes
- ForeverSelectorBuilder
-
def
readingWithFlowTerminationAsync[A](ch: Input[A], f: (ExecutionContext, FlowTermination[Unit], A) ⇒ Future[Unit]): SelectTransputer.this.type
- Definition Classes
- ForeverSelectorBuilder
-
def
recover(f: PartialFunction[Throwable, Directive]): SelectTransputer.this.type
set recover function
set recover function
- Definition Classes
- Transputer
-
def
recoverAppend(f: PartialFunction[Throwable, Directive]): SelectTransputer.this.type
append recover function to existing
append recover function to existing
- Definition Classes
- Transputer
-
def
replica: Int
return replica number of current instance, if transponder run replicated.
return replica number of current instance, if transponder run replicated.
- Attributes
- protected
- Definition Classes
- Transputer
-
val
selectorInit: () ⇒ Unit
- Attributes
- protected
-
def
selectorRun: Future[Unit]
- Definition Classes
- SelectorBuilder
-
def
start(): Future[Unit]
- Definition Classes
- Transputer
-
def
stop(): Unit
- Definition Classes
- SelectTransputer → Transputer
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
macro
def
timeout(t: FiniteDuration)(f: (FiniteDuration) ⇒ Unit): ForeverSelectorBuilder
- Definition Classes
- ForeverSelectorBuilder
-
def
timeoutWithFlowTerminationAsync(t: FiniteDuration, f: (ExecutionContext, FlowTermination[Unit], FiniteDuration) ⇒ Future[Unit]): SelectTransputer.this.type
- Definition Classes
- ForeverSelectorBuilder
- Annotations
- @inline()
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
withError(f: (ExecutionContext, FlowTermination[Unit], Continuated[Unit], Throwable) ⇒ Future[Continuated[Unit]]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
- Annotations
- @inline()
-
def
withIdle(f: (Skip[Unit]) ⇒ Option[Future[Continuated[Unit]]]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
- Annotations
- @inline()
-
def
withReader[B](ch: Input[B], f: (ContRead[B, Unit]) ⇒ Option[(In[B]) ⇒ Future[Continuated[Unit]]]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
- Annotations
- @inline()
-
def
withTimeout(t: FiniteDuration)(f: (Skip[Unit]) ⇒ Option[Future[Continuated[Unit]]]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
- Annotations
- @inline()
-
def
withWriter[B](ch: Output[B], f: (ContWrite[B, Unit]) ⇒ Option[(B, Future[Continuated[Unit]])]): SelectTransputer.this.type
- Definition Classes
- SelectorBuilder
- Annotations
- @inline()
-
macro
def
writing[A](ch: Output[A], x: A)(f: (A) ⇒ Unit): ForeverSelectorBuilder
- Definition Classes
- ForeverSelectorBuilder
-
def
writingWithFlowTerminationAsync[A](ch: Output[A], x: ⇒ A, f: (ExecutionContext, FlowTermination[Unit], A) ⇒ Future[Unit]): ForeverSelectorBuilder
- Definition Classes
- ForeverSelectorBuilder
- Annotations
- @inline()
-
object
InPort
- Definition Classes
- Transputer
-
object
OutPort
- Definition Classes
- Transputer