Object/Class

molecule.channel

RIChan

Related Docs: class RIChan | package channel

Permalink

object RIChan

Factory methods for RIChan and extra DSL support like callcc and parl (see ChameneosRedux example in molecule-core-examples).

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RIChan
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. class RIChanWithFuture[A] extends AnyRef

    Permalink

    Class that enriches a RIChan with a future methods.

    Class that enriches a RIChan with a future methods.

    (The implicit conversion is located in the main Molecule object imported by end-users.)

    A

    the type of the message returned by the channel

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def async[A](executor: Executor)(task: ⇒ A)(implicit arg0: Message[A]): RIChan[A]

    Permalink

    Create a result channel that returns the result of an asynchronous task that is scheduled immediately for execution.

    Create a result channel that returns the result of an asynchronous task that is scheduled immediately for execution.

    Note: the executor that executes the task can be released immediately once the result becomes available, independently from the transformations applied to the result, by calling dispathTo immediately after this channel is created.

    A

    the type of the message created by the task.

    executor

    the executor that executes the task and produces a result.

    task

    the task that is executed asynchronously by the executor.

    returns

    a result channel that produces the result of the task

  6. def callcc[A](call: ((A) ⇒ RIChan[Nothing]) ⇒ RIChan[Nothing])(implicit arg0: Message[A]): RIChan[A]

    Permalink

    Call with current continuation.

    Call with current continuation.

    call

    a function that takes the current continuation as argument.

    returns

    a result channel that returns the parameter passed to call.

  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. implicit def enrichRIChanWithFuture[A](richan: RIChan[A])(implicit arg0: Message[A]): RIChanWithFuture[A]

    Permalink

    Enrich a RIChan with future method.

  9. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  11. def failure(signal: Signal): RIChan[Nothing]

    Permalink

    Create a result channel that fails with a signal.

    Create a result channel that fails with a signal.

    returns

    a result channel that produces the message a

  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. def lazyAsync[A](executor: Executor)(task: ⇒ A)(implicit arg0: Message[A]): RIChan[A]

    Permalink

    Create a result channel that returns the result of an asynchronous task that is scheduled only when some process attempts to consume the result.

    Create a result channel that returns the result of an asynchronous task that is scheduled only when some process attempts to consume the result.

    Note: the executor that executes the task can be released immediately once the result becomes available, independently from the transformations applied to the result, by calling dispathTo immediately after this channel is created.

    A

    the type of the message created by the task.

    executor

    the executor that executes the task and produces a result.

    task

    the task that is executed asynchronously by the executor.

    returns

    a result channel that produces the result of the task

  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. def parl[A, That <: Traversable[A]](ris: Iterable[RIChan[A]])(implicit ma: Message[A], bf: CanBuildFrom[Nothing, A, That]): RIChan[That]

    Permalink

    Consume the results of a list of result channels in parallel and return them as a list.

    Consume the results of a list of result channels in parallel and return them as a list. If one result channel fails, all the other results are poisoned and a single signal corresponding to the exception is raised.

    ris

    a list of result channels.

    returns

    the list of results. Results occur in the same as the order as the channels that produced them.

  21. def success[A](a: A)(implicit arg0: Message[A]): RIChan[A]

    Permalink

    Create a result channel that returns a message immediately.

    Create a result channel that returns a message immediately.

    A

    the type of the message.

    a

    the message returned by the channel.

    returns

    a result channel that produces the message a

  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  23. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  24. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped