packages feed

snap-core 0.2.2 → 0.2.3

raw patch · 2 files changed

+10/−6 lines, 2 files

Files

snap-core.cabal view
@@ -1,5 +1,5 @@ name:           snap-core-version:        0.2.2+version:        0.2.3 synopsis:       Snap: A Haskell Web Framework (Core)  description:
src/Snap/Iteratee.hs view
@@ -107,11 +107,11 @@ -- -- Our enumerators produce a lot of little strings; rather than spending all -- our time doing kernel context switches for 4-byte write() calls, we buffer--- the iteratee to send 2KB at a time.+-- the iteratee to send 8KB at a time. bufferIteratee :: (Monad m) => Enumerator m a bufferIteratee = return . go (D.empty,0)   where-    blocksize = 2048+    blocksize = 8192      --go :: (DList ByteString, Int) -> Iteratee m a -> Iteratee m a     go (!dl,!n) iter = IterateeG $! f (dl,n) iter@@ -154,10 +154,14 @@ ------------------------------------------------------------------------------ -- | Enumerates a lazy bytestring. enumLBS :: (Monad m) => L.ByteString -> Enumerator m a-enumLBS lbs iter = foldM k iter enums+enumLBS lbs = el chunks   where-    enums = map (enumPure1Chunk . WrapBS) $ L.toChunks lbs-    k i e = e i+    el [] i     = return i+    el (x:xs) i = do+        i' <- enumBS x i+        el xs i'++    chunks = L.toChunks lbs   ------------------------------------------------------------------------------