Copyright | (c) Tim Watson 2013 |
---|---|
License | BSD3 (see the file LICENSE) |
Maintainer | Tim Watson <watson.timothy@gmail.com> |
Stability | experimental |
Portability | non-portable (requires concurrency) |
Safe Haskell | None |
Language | Haskell98 |
- Unsafe Messaging Primitives Using NFData
This module mirrors Control.Distributed.Process.UnsafePrimitives, but
attempts to provide a bit more safety by forcing evaluation before sending.
This is handled using NFData
, by means of the NFSerializable
type class.
Note that we still cannot guarantee that both the NFData
and Binary
instances will evaluate your data the same way, therefore these primitives
still have certain risks and potential side effects. Use with caution.
- send :: NFSerializable m => ProcessId -> m -> Process ()
- nsend :: NFSerializable a => String -> a -> Process ()
- sendToAddr :: (Addressable a, NFSerializable m) => a -> m -> Process ()
- sendChan :: NFSerializable m => SendPort m -> m -> Process ()
- wrapMessage :: NFSerializable a => a -> Message
Documentation
send :: NFSerializable m => ProcessId -> m -> Process () Source
nsend :: NFSerializable a => String -> a -> Process () Source
sendToAddr :: (Addressable a, NFSerializable m) => a -> m -> Process () Source
sendChan :: NFSerializable m => SendPort m -> m -> Process () Source
wrapMessage :: NFSerializable a => a -> Message Source
Create an unencoded Message
for any Serializable
type.