summaryrefslogtreecommitdiff
path: root/dht/examples/leaktest.hs
blob: 18c16c29726e40b8c63df32fde5fcc933c8c6d74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{-# LANGUAGE NoMonomorphismRestriction #-}
import Conduit                      as C
import qualified Data.Conduit.List  as CL
import Data.Dependent.Sum
import Data.Function
import Data.Text (Text)
import Data.XML.Types               as XML

import Crypto.Tox
import Data.Tox.Msg as Tox
import Network.Tox.NodeId
import ToxToXMPP
import Network.Address

storeInvite :: Monad m => Int -> Maybe Text -> Invite -> m ()
storeInvite _ _ _ = return ()

me :: PublicKey
me = id2key $ read "mb8x36b1oxgj1shbdy6dfj96pu6hdruy6cc49ykzdd3fb6wguwfe"

them :: PublicKey
them = id2key $ read "y4t5janwehaqb9ayc57cgxzc1c4hrmdzuybj6yatskhx8bdp1cys"

pipe :: Monad m => ConduitM (Int,Tox.CryptoMessage) XML.Event m ()
pipe = toxToXmpp storeInvite localhost4 me (xmppHostname them)

onlines = CL.replicate 50000 (1, Pkt USERSTATUS ==> Online)

main = do
    runConduit $ onlines .| pipe .| CL.mapM_ print
    return ()