on master help sign in
Use writeN instead of write when we know the size a priori
8ce6a6dHarendra Kumar
src/Streamly/FileSystem/Handle.hs+1−1
@@ -330,7 +330,7 @@ writeInChunksOfS n h m = writeArraysS h $ AS.arraysOf n m
330-- @since 0.7.0
330-- @since 0.7.0
331{-# INLINE writeInChunksOf #-}
331{-# INLINE writeInChunksOf #-}
332writeInChunksOf :: MonadIO m => Int -> Handle -> Fold m Word8 ()
332writeInChunksOf :: MonadIO m => Int -> Handle -> Fold m Word8 ()
333−writeInChunksOf n h = FL.lchunksOf n A.write (writeArrays h)
333+writeInChunksOf n h = FL.lchunksOf n (A.writeN n) (writeArrays h)
334
334
335-- > write = 'writeInChunksOf' A.defaultChunkSize
335-- > write = 'writeInChunksOf' A.defaultChunkSize
336--
336--
src/Streamly/Memory/Array/Types.hs+1−1
@@ -491,7 +491,7 @@ writeN n = Fold step initial extract
491 step (Array start end bound) x = do
491 step (Array start end bound) x = do
492 liftIO $ poke end x
492 liftIO $ poke end x
493 return $ Array start (end `plusPtr` sizeOf (undefined :: a)) bound
493 return $ Array start (end `plusPtr` sizeOf (undefined :: a)) bound
494− extract = liftIO . shrinkToFit
494+ extract = return -- liftIO . shrinkToFit
495
495
496{-# INLINE_NORMAL fromStreamDN #-}
496{-# INLINE_NORMAL fromStreamDN #-}
497fromStreamDN :: forall m a. (MonadIO m, Storable a)
497fromStreamDN :: forall m a. (MonadIO m, Storable a)
src/Streamly/Network/Client.hs+1−1
@@ -180,7 +180,7 @@ writeInChunksOf
180 -> (Word8, Word8, Word8, Word8)
180 -> (Word8, Word8, Word8, Word8)
181 -> PortNumber
181 -> PortNumber
182 -> Fold m Word8 ()
182 -> Fold m Word8 ()
183−writeInChunksOf n addr port = FL.lchunksOf n A.write (writeArrays addr port)
183+writeInChunksOf n addr port = FL.lchunksOf n (A.writeN n) (writeArrays addr port)
184
184
185{-
185{-
186-- | Write a stream to the supplied IPv4 host address and port number.
186-- | Write a stream to the supplied IPv4 host address and port number.
src/Streamly/Network/Socket.hs+1−1
@@ -310,7 +310,7 @@ writeInChunksOfS n h m = writeArraysS h $ AS.arraysOf n m
310-- @since 0.7.0
310-- @since 0.7.0
311{-# INLINE writeInChunksOf #-}
311{-# INLINE writeInChunksOf #-}
312writeInChunksOf :: MonadIO m => Int -> Socket -> Fold m Word8 ()
312writeInChunksOf :: MonadIO m => Int -> Socket -> Fold m Word8 ()
313−writeInChunksOf n h = FL.lchunksOf n A.write (writeArrays h)
313+writeInChunksOf n h = FL.lchunksOf n (A.writeN n) (writeArrays h)
314
314
315-- > write = 'writeInChunksOf' A.defaultChunkSize
315-- > write = 'writeInChunksOf' A.defaultChunkSize
316--
316--