diff options
author | Sam T <pxqr.sta@gmail.com> | 2013-07-08 04:52:10 +0400 |
---|---|---|
committer | Sam T <pxqr.sta@gmail.com> | 2013-07-08 04:52:10 +0400 |
commit | f7245e3cc7c5729b401bbbe3438a9f5b9dda211b (patch) | |
tree | 49e6bb1b0ef127e8540e32bb5369571dd66be333 /examples/Main.hs | |
parent | 83098eaf867b286048a41a16da47e5a1fd04d68d (diff) |
~ Unliterate example.
Diffstat (limited to 'examples/Main.hs')
-rw-r--r-- | examples/Main.hs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/Main.hs b/examples/Main.hs new file mode 100644 index 00000000..bc3fbb8b --- /dev/null +++ b/examples/Main.hs | |||
@@ -0,0 +1,23 @@ | |||
1 | module Main (main) where | ||
2 | |||
3 | import Control.Monad | ||
4 | import Network.BitTorrent | ||
5 | import Network.BitTorrent.Extension | ||
6 | import System.Environment | ||
7 | import Control.Monad.Trans | ||
8 | |||
9 | main :: IO () | ||
10 | main = do | ||
11 | [path] <- getArgs | ||
12 | torrent <- fromFile path | ||
13 | print (contentLayout "./" (tInfo torrent)) | ||
14 | client <- newClient 100 [ExtDHT] | ||
15 | swarm <- newLeecher client torrent | ||
16 | storage <- swarm `bindTo` "/tmp/" | ||
17 | ppStorage storage >>= print | ||
18 | discover swarm $ do | ||
19 | liftIO $ print "connected to peer" | ||
20 | forever $ do | ||
21 | liftIO (getCurrentProgress client >>= print) | ||
22 | exchange storage | ||
23 | liftIO $ print "disconnected" | ||