@@ -26,6 +26,7 @@ module Control.Distributed.Process.Internal.Primitives
2626 , unsafeUSend
2727 , unsafeSendChan
2828 , unsafeNSend
29+ , unsafeNSendRemote
2930 -- * Advanced messaging
3031 , Match
3132 , receiveWait
@@ -1184,6 +1185,13 @@ nsendRemote :: Serializable a => NodeId -> String -> a -> Process ()
11841185nsendRemote nid label msg =
11851186 sendCtrlMsg (Just nid) (NamedSend label (createMessage msg))
11861187
1188+-- | Named send to a process in a remote registry (asynchronous)
1189+-- This function makes /no/ attempt to serialize and (in the case when the
1190+-- destination process resides on the same local node) therefore ensure that
1191+-- the payload is fully evaluated before it is delivered.
1192+unsafeNSendRemote :: Serializable a => NodeId -> String -> a -> Process ()
1193+unsafeNSendRemote = Unsafe.nsendRemote
1194+
11871195--------------------------------------------------------------------------------
11881196-- Closures --
11891197--------------------------------------------------------------------------------