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.
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.
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).
Traits that marks "pure" message i.e.
Traits that marks "pure" message i.e. messages who do not carry channels.
Class that enriches a juc.Executor
with additional methods.
Class that enriches a juc.Executor
with additional methods.
Class that enriches a traversable with additional methods.
Class that enriches a traversable with additional methods.
Class that enriches a value with additional methods.
Class that enriches a value with additional methods.
Supertype of all termination signals.
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 '~' )
Pair of values returned by operators that sequence two monadic actions (see IO and parser combinators).
Standard End-Of-Stream signal.
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
Message typeclass for "pure" message.
Pass the result from a result channel to a return channel.
Pass the result from a result channel to a return channel.
the input.
the output.
Unit
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.
the input.
the output.
Unit
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.
Enrich a juc.Executor
with additional methods.
Enrich a juc.Executor
with additional methods.
Enrich a traversable with additional methods.
Enrich a traversable with additional methods.
Enrich a value with additional methods.
Enrich a value with additional methods.
Parsing utility methods
Platform execution resources: executors, user-level threads and schedulers.
Types for process types and instances
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.
Definition of segments transmited on channels.
This package defines standard signals
Stream channel interfaces
Misc utilities