From 84610776d4f74942e8374378afe4fdab53ebd637 Mon Sep 17 00:00:00 2001
From: Philipp Balzarek
Date: Sun, 15 Apr 2012 14:50:58 +0200
Subject: [PATCH] removed makeshift replacements for sourceHandle and
sinkHandle (fixed in upstream)
---
src/Network/XMPP/Monad.hs | 30 ++----------------------------
1 file changed, 2 insertions(+), 28 deletions(-)
diff --git a/src/Network/XMPP/Monad.hs b/src/Network/XMPP/Monad.hs
index c080f53..0b61c6a 100644
--- a/src/Network/XMPP/Monad.hs
+++ b/src/Network/XMPP/Monad.hs
@@ -68,7 +68,7 @@ xmppFromHandle :: Handle
-> IO (a, XMPPConState)
xmppFromHandle handle hostname username res f = do
liftIO $ hSetBuffering handle NoBuffering
- let raw = sourceHandle' handle
+ let raw = sourceHandle handle
let src = raw $= XP.parseBytes def
let st = XMPPConState
src
@@ -82,32 +82,6 @@ xmppFromHandle handle hostname username res f = do
res
runStateT f st
--- TODO: Once pullrequest has been merged, switch back to upstream
-sourceHandle' :: MonadIO m => Handle -> Source m BS.ByteString
-sourceHandle' h =
- src
- where
- src = PipeM pull close
-
- pull = do
- bs <- liftIO (BS.hGetSome h 4096)
- if BS.null bs
- then return $ Done Nothing ()
- else return $ HaveOutput src close bs
-
- close = return ()
-
-sinkHandle' :: MonadIO m
- => Handle
- -> Sink BS.ByteString m ()
-sinkHandle' h =
- NeedInput push close
- where
- push input = PipeM
- (liftIO (BS.hPut h input) >> return (NeedInput push close))
- (return ())
- close = return ()
-
zeroSource :: Source IO output
zeroSource = sourceState () (\_ -> forever $ threadDelay 10000000)
@@ -131,7 +105,7 @@ xmppRawConnect host hostname = do
con <- connectTo host (PortNumber 5222)
hSetBuffering con NoBuffering
return con
- let raw = sourceHandle' con
+ let raw = sourceHandle con
let src = raw $= XP.parseBytes def
let st = XMPPConState
src