distributed-process-p2p 0.1.1.2 → 0.1.2.0
raw patch · 3 files changed
+8/−6 lines, 3 filesdep +network
Dependencies added: network
Files
- distributed-process-p2p.cabal +2/−1
- src/Control/Distributed/Backend/P2P.hs +4/−3
- tests/JollyCloud.hs +2/−2
distributed-process-p2p.cabal view
@@ -1,5 +1,5 @@ name: distributed-process-p2p-version: 0.1.1.2+version: 0.1.2.0 synopsis: Peer-to-peer node discovery for Cloud Haskell description: Bootstraps a peer-to-peer connection network from a set of known hosts. homepage: https://bitbucket.org/dpwiz/distributed-process-p2p/@@ -26,6 +26,7 @@ bytestring >=0.9 && < 0.11, containers >=0.4 && < 0.6, binary >=0.5 && < 0.7,+ network >=2.3 && <3, distributed-process >=0.4.1 && <0.5, network-transport ==0.3.*,
src/Control/Distributed/Backend/P2P.hs view
@@ -26,6 +26,7 @@ import Control.Distributed.Process.Internal.Types as DPT import Control.Distributed.Process.Serializable (Serializable) import Network.Transport (EndPointAddress(..))+import Network.Socket (HostName, ServiceName) import Network.Transport.TCP (createTransport, defaultTCPParameters) import Control.Monad@@ -62,10 +63,10 @@ makeNodeId addr = NodeId . EndPointAddress . BS.concat $ [BS.pack addr, ":0"] -- | Start a controller service process and aquire connections to a swarm.-bootstrap :: String -> String -> [NodeId] -> Process () -> IO ()-bootstrap host port seeds proc = do+bootstrap :: HostName -> ServiceName -> [NodeId] -> RemoteTable -> Process () -> IO ()+bootstrap host port seeds rTable proc = do transport <- either (error . show) id `fmap` createTransport host port defaultTCPParameters- node <- newLocalNode transport initRemoteTable+ node <- newLocalNode transport rTable pcPid <- forkProcess node $ do state <- initPeerState
tests/JollyCloud.hs view
@@ -15,8 +15,8 @@ args <- getArgs case args of- ["-h"] -> putStrLn "Usage: jollycloud addr port [<seed>..]"- host:port:seeds -> P2P.bootstrap host port (map P2P.makeNodeId seeds) mainProcess+ host:port:seeds -> P2P.bootstrap host port (map P2P.makeNodeId seeds) initRemoteTable mainProcess+ _ -> putStrLn "Usage: jollycloud addr port [<seed>..]" mainProcess :: Process () mainProcess = do