Have nsend send unencoded messages to local processes.
On one hand, this is an optimization. It saves decoding the message
when the NC handles the message to a local destination. On the other
hand, it guarantees the message will be fully evaluated (up to endoding)
since encoded messages are not fully evaluated unless they go through
the transport.
commita2f1f5f1d1988d2cb019999ecf7eb47b86c54e6a
authorFacundo Domínguez <facundo.dominguez@tweag.io>
dateWed 16 Mar 2016, 09:21 (11 years ago)
parent0579726
src/Control/Distributed/Process/Internal/Primitives.hs+1−1
@@ -1166,7 +1166,7 @@ whereisRemoteAsync nid label = do
11661166-- | Named send to a process in the local registry (asynchronous)
11671167nsend :: Serializable a => String -> a -> Process ()
11681168nsend label msg =
1169− sendCtrlMsg Nothing (NamedSend label (createMessage msg))
1169+ sendCtrlMsg Nothing (NamedSend label (createUnencodedMessage msg))
11701170
11711171-- | Named send to a process in the local registry (asynchronous).
11721172-- This function makes /no/ attempt to serialize and (in the case when the