summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2013-12-12 05:58:31 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2013-12-12 05:58:31 +0400
commit172f5f8efdc3f2c9c01e56f628521e3aa22ef883 (patch)
treefd1d3452e9b6ccb933c4910eb92e648899caf619 /src/Network/BitTorrent
parentc73909b1bfe460997b4bf89cd5edf791804eaf66 (diff)
Move metadata exchange default limits to Message.hs
Diffstat (limited to 'src/Network/BitTorrent')
-rw-r--r--src/Network/BitTorrent/Exchange/Message.hs18
-rw-r--r--src/Network/BitTorrent/Exchange/Wire.hs11
2 files changed, 18 insertions, 11 deletions
diff --git a/src/Network/BitTorrent/Exchange/Message.hs b/src/Network/BitTorrent/Exchange/Message.hs
index fee3ad36..0adb8299 100644
--- a/src/Network/BitTorrent/Exchange/Message.hs
+++ b/src/Network/BitTorrent/Exchange/Message.hs
@@ -81,6 +81,8 @@ module Network.BitTorrent.Exchange.Message
81 -- *** Metadata 81 -- *** Metadata
82 , ExtendedMetadata (..) 82 , ExtendedMetadata (..)
83 , metadataPieceSize 83 , metadataPieceSize
84 , defaultMetadataFactor
85 , defaultMaxInfoDictSize
84 ) where 86 ) where
85 87
86import Control.Applicative 88import Control.Applicative
@@ -882,6 +884,22 @@ putMetadata msg
882 | Just bs <- getMetadataPayload msg = BE.encode msg <> BL.fromStrict bs 884 | Just bs <- getMetadataPayload msg = BE.encode msg <> BL.fromStrict bs
883 | otherwise = BE.encode msg 885 | otherwise = BE.encode msg
884 886
887-- | Allows a requesting peer to send 2 'MetadataRequest's for the
888-- each piece.
889--
890-- See 'Network.BitTorrent.Wire.Options.metadataFactor' for
891-- explanation why do we need this limit.
892defaultMetadataFactor :: Int
893defaultMetadataFactor = 2
894
895-- | Usually torrent size do not exceed 1MB. This value limit torrent
896-- /content/ size to about 8TB.
897--
898-- See 'Network.BitTorrent.Wire.Options.maxInfoDictSize' for
899-- explanation why do we need this limit.
900defaultMaxInfoDictSize :: Int
901defaultMaxInfoDictSize = 10 * 1024 * 1024
902
885{----------------------------------------------------------------------- 903{-----------------------------------------------------------------------
886-- Extension protocol messages 904-- Extension protocol messages
887-----------------------------------------------------------------------} 905-----------------------------------------------------------------------}
diff --git a/src/Network/BitTorrent/Exchange/Wire.hs b/src/Network/BitTorrent/Exchange/Wire.hs
index ef53032e..f61e59fa 100644
--- a/src/Network/BitTorrent/Exchange/Wire.hs
+++ b/src/Network/BitTorrent/Exchange/Wire.hs
@@ -410,17 +410,6 @@ data Options = Options
410 , maxInfoDictSize :: {-# UNPACK #-} !Int 410 , maxInfoDictSize :: {-# UNPACK #-} !Int
411 } deriving Show 411 } deriving Show
412 412
413-- | Allows a requesting peer to send 2 'MetadataRequest's for the
414-- each piece.
415defaultMetadataFactor :: Int
416defaultMetadataFactor = 2
417
418-- | Usually torrent size do not exceed 1MB. This value limit torrent
419-- /content/ size to about 8TB. See 'maxInfoDictSize' for explanation
420-- why do we need this limit.
421defaultMaxInfoDictSize :: Int
422defaultMaxInfoDictSize = 10 * 1024 * 1024
423
424-- | Permissive default parameters, most likely you don't need to 413-- | Permissive default parameters, most likely you don't need to
425-- change them. 414-- change them.
426instance Default Options where 415instance Default Options where