Package

molecule

Permalink

package molecule

Linear Supertypes
Predefs, Tilt, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. molecule
  2. Predefs
  3. Tilt
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. trait LowPrioMessageImplicits extends LowestPrioMessageImplicits

    Permalink

    The LowPrioMessageImplicits trait provides implicit objects of type Message[T[A]] for a number of general typed classes, but that are (or can be) partially overridden by higher-priority conversions in the object Message, or custom objects.

    The LowPrioMessageImplicits trait provides implicit objects of type Message[T[A]] for a number of general typed classes, but that are (or can be) partially overridden by higher-priority conversions in the object Message, or custom objects.

    Currently only Traversable[A] is covered, which does cover (almost) the whole Scala colletion library. Take care when using Java collections. Even if you would import scala.collection.JavaConversions._, the Java collections would get augmented with Scala collection operators, but the implicit Message[T[A]] will not be found and Message[AnyRef] will be taken as defined in LowestPrioMessageImplicits. So, either you have to define the implicit in your custom object add it to this trait.

  2. trait LowestPrioMessageImplicits extends AnyRef

    Permalink

    The LowestPrioMessageImplicits trait provides implicit objects of type Message[A] with PureMessage as implementation for all types, but that are partially overridden by higher-priority conversions in objects LowPrioMessageImplicits and Message, or custom objects.

  3. abstract class Message[-A] extends AnyRef

    Permalink

    Type class defining how messages sent over channels are poisoned.

    Type class defining how messages sent over channels are poisoned.

    Instances of this class implement the poison method to define how messages must be poisoned. By default, every message is "pure" and the method does nothing (see molecule.PureMessage). In case a message type carries higher order channels, or other resources that must be closed cleanly if the message is discarded, the default behavior can be overriden by implementing an implicit instance of this class in the companion object of the message type (c.f. Scala's type class resolution mechanism). The poison method will be invoked for example when a message is filtered out from a channel by a filter transformation or when a message is sent over a channel that has already been poisoned (in which can it cannot be delivered).

  4. trait PureMessage extends Message[Any]

    Permalink

    Traits that marks "pure" message i.e.

    Traits that marks "pure" message i.e. messages who do not carry channels.

  5. class RichExecutor extends AnyRef

    Permalink

    Class that enriches a juc.Executor with additional methods.

    Class that enriches a juc.Executor with additional methods.

    Definition Classes
    Predefs
  6. class RichTraversableToIChan[A] extends AnyRef

    Permalink

    Class that enriches a traversable with additional methods.

    Class that enriches a traversable with additional methods.

    Definition Classes
    Predefs
  7. class RichValToIChan[A] extends AnyRef

    Permalink

    Class that enriches a value with additional methods.

    Class that enriches a value with additional methods.

    Definition Classes
    Predefs
  8. type Seg[+A] = molecule.seg.Seg[A]

    Permalink
  9. abstract class Signal extends AnyRef

    Permalink

    Supertype of all termination signals.

  10. trait Tilt extends AnyRef

    Permalink

    Convenience functions to flatten pair of values created recursively by sequencing monadic operations.

    Convenience functions to flatten pair of values created recursively by sequencing monadic operations. (See '~' )

  11. case class ~[+a, +b](_1: a, _2: b) extends Product with Serializable

    Permalink

    Pair of values returned by operators that sequence two monadic actions (see IO and parser combinators).

Value Members

  1. object EOS extends Signal with Product with Serializable

    Permalink

    Standard End-Of-Stream signal.

  2. object Message extends LowPrioMessageImplicits

    Permalink

    The object Message provides implicit objects of type Message[A] for a number of common final classes or sealed abstract classes.

    The object Message provides implicit objects of type Message[A] for a number of common final classes or sealed abstract classes. In case you require a custom poison implementation for your custom class C, define a companion object that extends LowPrioMessageImplicits in which you define the implicit object Message[C], see examples in package molecule.request

  3. final val NilSeg: molecule.seg.NilSeg.type

    Permalink
  4. object PureMessage extends Message[Any] with PureMessage

    Permalink

    Message typeclass for "pure" message.

  5. final val Seg: molecule.seg.Seg.type

    Permalink
  6. object Signal

    Permalink
  7. final def bridge[A](richan: RIChan[A], rochan: ROChan[A]): Unit

    Permalink

    Pass the result from a result channel to a return channel.

    Pass the result from a result channel to a return channel.

    richan

    the input.

    rochan

    the output.

    returns

    Unit

    Definition Classes
    Predefs
  8. final def bridge[A](ichan: IChan[A], ochan: OChan[A]): Unit

    Permalink

    Bridge a system-level input interface and a system-level output interface.

    Bridge a system-level input interface and a system-level output interface. All the segments coming on the input are forwarded to the output in a tight immutable loop in the threads of the sender and the receiver without further level of indirection. If the input terminates first, the output is closed with the termination signal of the input. If the output terminates first, the input is poisoned with the termination signal of the output.

    ichan

    the input.

    ochan

    the output.

    returns

    Unit

    Definition Classes
    Predefs
  9. package channel

    Permalink

    This package contains standard channels to interact with standard input/output and connect Molecule processes.

    This package contains standard channels to interact with standard input/output and connect Molecule processes. These channels implement the interfaces defined in the package syschan.

  10. implicit def enrichExecutor[A](executor: Executor): RichExecutor

    Permalink

    Enrich a juc.Executor with additional methods.

    Enrich a juc.Executor with additional methods.

    Definition Classes
    Predefs
  11. implicit def enrichTraversableToIChan[A](as: Traversable[A]): RichTraversableToIChan[A]

    Permalink

    Enrich a traversable with additional methods.

    Enrich a traversable with additional methods.

    Definition Classes
    Predefs
  12. implicit def enrichValToIChan[A](a: A): RichValToIChan[A]

    Permalink

    Enrich a value with additional methods.

    Enrich a value with additional methods.

    Definition Classes
    Predefs
  13. implicit def flatten2[A, B, C](f: (A, B) ⇒ C): (~[A, B]) ⇒ C

    Permalink
    Definition Classes
    Tilt
  14. implicit def flatten3[A, B, C, D](f: (A, B, C) ⇒ D): (~[~[A, B], C]) ⇒ D

    Permalink
    Definition Classes
    Tilt
  15. implicit def flatten4[A, B, C, D, E](f: (A, B, C, D) ⇒ E): (~[~[~[A, B], C], D]) ⇒ E

    Permalink
    Definition Classes
    Tilt
  16. implicit def flatten5[A, B, C, D, E, F](f: (A, B, C, D, E) ⇒ F): (~[~[~[~[A, B], C], D], E]) ⇒ F

    Permalink
    Definition Classes
    Tilt
  17. implicit def headOptionTailToFunList[A, T](f: (List[A]) ⇒ T): (~[A, Option[List[A]]]) ⇒ T

    Permalink
    Definition Classes
    Tilt
  18. package jsr166y

    Permalink
  19. package parsing

    Permalink

    Parsing utility methods

  20. package platform

    Permalink

    Platform execution resources: executors, user-level threads and schedulers.

  21. package process

    Permalink

    Types for process types and instances

  22. package request

    Permalink

    Message definitions for request-response protocols.

    Message definitions for request-response protocols.

    Molecule supports request protocols for which there either is a single response or a stream of messages.

  23. package seg

    Permalink

    Definition of segments transmited on channels.

  24. package signals

    Permalink

    This package defines standard signals

  25. package stream

    Permalink

    Stream channel interfaces

  26. package utils

    Permalink

    Misc utilities

Inherited from Predefs

Inherited from Tilt

Inherited from AnyRef

Inherited from Any

Ungrouped