Skip to content

Commit

Permalink
incorporate upstream changes to d-p-platform; migration of call and o…
Browse files Browse the repository at this point in the history
…ther

generic entities, d-p-global now depends on d-p-platform
  • Loading branch information
Tim Watson committed Jan 9, 2013
1 parent 4f9d2d4 commit 19daf7d
Show file tree
Hide file tree
Showing 8 changed files with 25 additions and 402 deletions.
5 changes: 3 additions & 2 deletions distributed-process-global.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ Library
binary >= 0.5 && < 0.7,
containers >= 0.4 && < 0.6,
random >= 1.0 && < 1.1,
distributed-process >= 0.4.1
distributed-process >= 0.4.1,
distributed-process-platform >= 0.1.0
Exposed-modules: Control.Distributed.Process.Global,
Control.Distributed.Process.Global.Call,
Control.Distributed.Process.Global.Types,
Control.Distributed.Process.Global.Server,
Control.Distributed.Process.Global.Merge,
Expand All @@ -48,6 +48,7 @@ Test-Suite TestGlobal
random >= 1.0 && < 1.1,
ansi-terminal >= 0.5 && < 0.6,
distributed-process >= 0.4.1,
distributed-process-platform >= 0.1.0,
network-transport >= 0.3 && < 0.4,
network-transport-tcp >= 0.3 && < 0.4,
bytestring >= 0.9 && < 0.11,
Expand Down
38 changes: 5 additions & 33 deletions src/Control/Distributed/Process/Global.hs
Original file line number Diff line number Diff line change
Expand Up @@ -24,44 +24,18 @@ module Control.Distributed.Process.Global
, getKnown
, getKnownNameServers

-- * Tags
, Tag
, TagPool
, newTagPool
, getTag

-- * Timeouts
, Timeout
, infiniteWait
, noWait

-- * Procedure calls
, callAt
, callTimeout
, multicall
, callResponse
, callResponseIf
, callResponseDefer
, callResponseDeferIf
, callForward
, callResponseAsync

-- * Server calls
, whereisOrStart
, whereisOrStartRemote

-- * Remote call table
, __remoteTable
) where

import Control.Distributed.Process
import Control.Distributed.Process.Global.Types
import Control.Distributed.Process.Global.Call
import Control.Distributed.Process.Global.Util hiding (__remoteTable)
import qualified Control.Distributed.Process.Global.Util (__remoteTable)
import Control.Distributed.Process.Global.Server hiding (__remoteTable)
import qualified Control.Distributed.Process.Global.Server (__remoteTable)
import Control.Distributed.Process.Global.Merge
import Control.Distributed.Process.Global.Merge

import Control.Distributed.Process.Platform hiding (__remoteTable)
import qualified Control.Distributed.Process.Platform (__remoteTable)

----------------------------------------------
-- * Remote table
Expand All @@ -70,6 +44,4 @@ import Control.Distributed.Process.Global.Merge
__remoteTable :: RemoteTable -> RemoteTable
__remoteTable =
Control.Distributed.Process.Global.Server.__remoteTable .
Control.Distributed.Process.Global.Util.__remoteTable


Control.Distributed.Process.Platform.__remoteTable
188 changes: 0 additions & 188 deletions src/Control/Distributed/Process/Global/Call.hs

This file was deleted.

5 changes: 4 additions & 1 deletion src/Control/Distributed/Process/Global/Merge.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ import Control.Distributed.Process
import Control.Distributed.Process.Global.Types
import Control.Distributed.Process.Global.Util
import Control.Distributed.Process.Global.Server
import Control.Distributed.Process.Global.Call

import Control.Distributed.Process.Platform
import Control.Distributed.Process.Platform.Call
import Control.Distributed.Process.Platform.Time

import Data.List (nub, union)
import qualified Data.Map as M
Expand Down
7 changes: 5 additions & 2 deletions src/Control/Distributed/Process/Global/Server.hs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,11 @@ module Control.Distributed.Process.Global.Server
import Control.Distributed.Process
import Control.Distributed.Process.Closure (mkClosure,remotable)
import Control.Distributed.Process.Global.Types
import Control.Distributed.Process.Global.Util hiding (__remoteTable)
import Control.Distributed.Process.Global.Call
import Control.Distributed.Process.Global.Util

import Control.Distributed.Process.Platform hiding (__remoteTable)
import Control.Distributed.Process.Platform.Call
import Control.Distributed.Process.Platform.Time

import Control.Applicative ((<$>))
import Data.List (find, delete, sort, (\\))
Expand Down
39 changes: 2 additions & 37 deletions src/Control/Distributed/Process/Global/Types.hs
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
{-# LANGUAGE DeriveDataTypeable #-}
module Control.Distributed.Process.Global.Types
( Timeout
, TimeoutNotification(..)

, Tag
, TagPool

, LockName
( LockName
, LockId
, LockRequesterId

Expand Down Expand Up @@ -36,40 +30,11 @@ module Control.Distributed.Process.Global.Types
import Control.Applicative ((<$>),(<*>))
import qualified Data.Map as M (Map)
import Control.Distributed.Process (MonitorRef, ProcessId)
import Control.Distributed.Process.Platform
import Control.Concurrent.MVar (MVar)
import Data.Binary (Binary,get,put,putWord8,getWord8)
import Data.Typeable (Typeable)

----------------------------------------------
-- * Timeouts
----------------------------------------------

-- | A period of time to wait, or Nothing for
-- infinite waiting.
type Timeout = Maybe Int

-- | Send to a process when a timeout expires.
data TimeoutNotification = TimeoutNotification Tag
deriving (Typeable)
instance Binary TimeoutNotification where
get = fmap TimeoutNotification $ get
put (TimeoutNotification n) = put n

----------------------------------------------
-- * Tags
----------------------------------------------

-- | Tags provide uniqueness for messages, so that they can be
-- matched with their response.
type Tag = Int

-- | Generates unique 'Tag' for messages and response pairs.
-- Each process that depends, directly or indirectly, on
-- the call mechanisms in "Control.Distributed.Process.Global.Call"
-- should have at most one TagPool on which to draw unique message
-- tags.
type TagPool = MVar Tag

----------------------------------------------
-- * Global name server messages
----------------------------------------------
Expand Down
Loading

0 comments on commit 19daf7d

Please sign in to comment.