git.iko.soy/distributed-process
on master help sign in
minor: Update tutorial to include extra hint arguments
ac37e8eRyan Newton
doc/tutorial/tutorial-client.hs+8−4
@@ -1,5 +1,5 @@
1−import Network.Transport
1+import Network.Transport
2−import Network.Transport.TCP (createTransport)
2+import Network.Transport.TCP (createTransport, defaultTCPParameters)
3import System.Environment
3import System.Environment
4import Control.Monad
4import Control.Monad
5import Data.ByteString.Char8
5import Data.ByteString.Char8
@@ -7,11 +7,15 @@ import Data.ByteString.Char8
7main :: IO ()
7main :: IO ()
8main = do
8main = do
9 [host, port, serverAddr] <- getArgs
9 [host, port, serverAddr] <- getArgs
10− Right transport <- createTransport host port
10+ Right transport <- createTransport host port defaultTCPParameters
11 Right endpoint <- newEndPoint transport
11 Right endpoint <- newEndPoint transport
12
12
13 let addr = EndPointAddress (pack serverAddr)
13 let addr = EndPointAddress (pack serverAddr)
14− Right conn <- connect endpoint addr ReliableOrdered
14+-- Right conn <- connect endpoint addr ReliableOrdered defaultConnectHints
15+ x <- connect endpoint addr ReliableOrdered defaultConnectHints
16+ let conn = case x of
17+ Right conn -> conn
18+ Left err -> error$ "Error connecting: "++show err
15 send conn [pack "Hello world"]
19 send conn [pack "Hello world"]
16 close conn
20 close conn
17
21
doc/tutorial/tutorial-server.hs+5−3
@@ -1,5 +1,5 @@
1import Network.Transport
1import Network.Transport
2−import Network.Transport.TCP (createTransport)
2+import Network.Transport.TCP (createTransport, defaultTCPParameters)
3import Control.Concurrent
3import Control.Concurrent
4import Data.Map
4import Data.Map
5import Control.Exception
5import Control.Exception
@@ -14,9 +14,10 @@ echoServer endpoint serverDone = go empty
14 event <- receive endpoint
14 event <- receive endpoint
15 case event of
15 case event of
16 ConnectionOpened cid rel addr -> do
16 ConnectionOpened cid rel addr -> do
17+ putStrLn$ " New connection: ID "++show cid++", reliability: "++show rel++", address: "++ show addr
17 connMVar <- newEmptyMVar
18 connMVar <- newEmptyMVar
18 forkIO $ do
19 forkIO $ do
19− Right conn <- connect endpoint addr rel
20+ Right conn <- connect endpoint addr rel defaultConnectHints
20 putMVar connMVar conn
21 putMVar connMVar conn
21 go (insert cid connMVar cs)
22 go (insert cid connMVar cs)
22 Received cid payload -> do
23 Received cid payload -> do
@@ -26,6 +27,7 @@ echoServer endpoint serverDone = go empty
26 return ()
27 return ()
27 go cs
28 go cs
28 ConnectionClosed cid -> do
29 ConnectionClosed cid -> do
30+ putStrLn$ " Closed connection: ID "++show cid
29 forkIO $ do
31 forkIO $ do
30 conn <- readMVar (cs ! cid)
32 conn <- readMVar (cs ! cid)
31 close conn
33 close conn
@@ -45,7 +47,7 @@ main :: IO ()
45main = do
47main = do
46 [host, port] <- getArgs
48 [host, port] <- getArgs
47 serverDone <- newEmptyMVar
49 serverDone <- newEmptyMVar
48− Right transport <- createTransport host port
50+ Right transport <- createTransport host port defaultTCPParameters
49 Right endpoint <- newEndPoint transport
51 Right endpoint <- newEndPoint transport
50 forkIO $ echoServer endpoint serverDone
52 forkIO $ echoServer endpoint serverDone
51 putStrLn $ "Echo server started at " ++ show (address endpoint)
53 putStrLn $ "Echo server started at " ++ show (address endpoint)