@@ -60,10 +60,9 @@ demo1 mktrans = do
60 closeTransport trans
60 closeTransport trans
62-- | Check that messages can be sent before receive is set up.
62-- | Check that messages can be sent before receive is set up.
63−demo2 :: IO ()
63+demo2 :: IO Transport -> IO ()
64−demo2 = do
64+demo2 mktrans = do
65− -- trans <- mkTransport
65+ trans <- mktrans
66− trans <- mkTransport $ TCPConfig undefined "127.0.0.1" "8080"
68 (sourceAddr, targetEnd) <- newConnection trans
67 (sourceAddr, targetEnd) <- newConnection trans
@@ -77,10 +76,10 @@ demo2 = do
77 closeTransport trans
76 closeTransport trans
79-- | Check that two different transports can be created.
78-- | Check that two different transports can be created.
80−demo3 :: IO ()
79+demo3 :: (Int -> IO Transport) -> Int -> IO ()
81−demo3 = do
80+demo3 mktrans offset = do
82− trans1 <- mkTransport $ TCPConfig undefined "127.0.0.1" "8080"
81+ trans1 <- mktrans (offset + 0)
83− trans2 <- mkTransport $ TCPConfig undefined "127.0.0.1" "8081"
82+ trans2 <- mktrans (offset + 1)
85 (sourceAddr1, targetEnd1) <- newConnection trans1
84 (sourceAddr1, targetEnd1) <- newConnection trans1
86 (sourceAddr2, targetEnd2) <- newConnection trans2
85 (sourceAddr2, targetEnd2) <- newConnection trans2
@@ -101,6 +100,7 @@ demo3 = do
101 closeTransport trans1
100 closeTransport trans1
102 closeTransport trans2
101 closeTransport trans2
104-- | Check that two different connections on the same transport can be created.
104-- | Check that two different connections on the same transport can be created.
105demo4 :: IO ()
105demo4 :: IO ()
106demo4 = do
106demo4 = do
@@ -133,21 +133,31 @@ logServer name targetEnd = forever $ do
134--------------------------------------------------------------------------------
134--------------------------------------------------------------------------------
136−runWAllTranports demo = do
136+runWAllTranports demo offset = do
137 putStrLn "------------------------------------------------------------"
137 putStrLn "------------------------------------------------------------"
138 putStrLn " MVAR transport:"
138 putStrLn " MVAR transport:"
139 demo Network.Transport.MVar.mkTransport
139 demo Network.Transport.MVar.mkTransport
140 putStrLn "\n TCP transport:"
140 putStrLn "\n TCP transport:"
141− demo$ mkTransport $ TCPConfig undefined "127.0.0.1" "8080"
141+ demo$ mkTransport $ TCPConfig undefined "127.0.0.1" (show (8080 + offset))
142 putStrLn "\n PIPES transport:"
142 putStrLn "\n PIPES transport:"
143 demo Network.Transport.Pipes.mkTransport
143 demo Network.Transport.Pipes.mkTransport
144 putStrLn "\n"
144 putStrLn "\n"
146main = do
146main = do
147 putStrLn "Demo0:"
147 putStrLn "Demo0:"
148− runWAllTranports demo0
148+ runWAllTranports demo0 0
151+ runWAllTranports demo1 10
154+ runWAllTranports demo2 20
156+ putStrLn "Done with all demos!"
158+-- trans <- mkTransport $ TCPConfig undefined "127.0.0.1" "8080"
150−-- putStrLn "Demo1:"
160+-- trans1 <- mkTransport $ TCPConfig undefined "127.0.0.1" "8080"
151−-- runWAllTranports demo1
161+-- trans2 <- mkTransport $ TCPConfig undefined "127.0.0.1" "8081"