From 009b10f45c534977439bb9f40f424abefc579c58 Mon Sep 17 00:00:00 2001 From: Sam Truzjan Date: Thu, 13 Feb 2014 12:55:16 +0400 Subject: Add insertLazy function --- src/Network/BitTorrent/Exchange/Block.hs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/Network') diff --git a/src/Network/BitTorrent/Exchange/Block.hs b/src/Network/BitTorrent/Exchange/Block.hs index d713bcf1..c910a716 100644 --- a/src/Network/BitTorrent/Exchange/Block.hs +++ b/src/Network/BitTorrent/Exchange/Block.hs @@ -43,6 +43,7 @@ module Network.BitTorrent.Exchange.Block -- ** Construction , Network.BitTorrent.Exchange.Block.empty , Network.BitTorrent.Exchange.Block.insert + , Network.BitTorrent.Exchange.Block.insertLazy , Network.BitTorrent.Exchange.Block.merge -- ** Rendering @@ -319,6 +320,10 @@ insert dstPos bs bucket = go 0 bucket | intersects curPos sz = bkt | otherwise = fill sz br (go (curPos + sz) xs) +-- TODO zero-copy +insertLazy :: Pos -> BL.ByteString -> Bucket -> Bucket +insertLazy pos bl = Network.BitTorrent.Exchange.Block.insert pos (BL.toStrict bl) + -- | /O(n)/. merge :: Bucket -> Bucket -> Bucket merge = undefined -- cgit v1.2.3