on master help sign in
Added some FIXMEs for improvements
commit89a22d88d81a3a5b527216956b6b2b79dadd8b9b authorMichael Snoyman <michael@snoyman.com> dateMon 17 Jan 2011, 23:21 (16 years ago) parent7067bee
1 file changed+2−1
Network/Wai/Handler/Warp.hs+2−1
Network/Wai/Handler/Warp.hs+2−1
@@ -251,6 +251,7 @@ sendResponse req hv socket (ResponseBuilder s hs b)
251251sendResponse req hv socket (ResponseEnumerator res) =
252252 res go
253253 where
254+ -- FIXME perhaps alloca a buffer per thread and reuse that in all functiosn below. Should lessen greatly the GC burden (I hope)
254255 go s hs
255256 | not (hasBody s req) = do
256257 liftIO $ Sock.sendMany socket
@@ -260,7 +261,7 @@ sendResponse req hv socket (ResponseEnumerator res) =
260261 go s hs =
261262 chunk'
262263 $ E.enumList 1 [headers hv s hs isChunked']
263− $$ E.joinI $ builderToByteString
264+ $$ E.joinI $ builderToByteString -- FIXME unsafeBuilderToByteString
264265 $$ (iterSocket socket >> return isKeepAlive)
265266 where
266267 hasLength = lookup "content-length" hs /= Nothing