torrent-10000.1.3: BitTorrent file parser and generater
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Torrent

Description

Synopsis

Documentation

data Torrent Source #

Constructors

Torrent 

Fields

Instances

Instances details
Data Torrent Source # 
Instance details

Defined in Data.Torrent

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Torrent -> c Torrent

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Torrent

toConstr :: Torrent -> Constr

dataTypeOf :: Torrent -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Torrent)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Torrent)

gmapT :: (forall b. Data b => b -> b) -> Torrent -> Torrent

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Torrent -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Torrent -> r

gmapQ :: (forall d. Data d => d -> u) -> Torrent -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Torrent -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Torrent -> m Torrent

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Torrent -> m Torrent

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Torrent -> m Torrent

Read Torrent Source # 
Instance details

Defined in Data.Torrent

Methods

readsPrec :: Int -> ReadS Torrent

readList :: ReadS [Torrent]

readPrec :: ReadPrec Torrent

readListPrec :: ReadPrec [Torrent]

Show Torrent Source # 
Instance details

Defined in Data.Torrent

Methods

showsPrec :: Int -> Torrent -> ShowS

show :: Torrent -> String

showList :: [Torrent] -> ShowS

Binary Torrent Source # 
Instance details

Defined in Data.Torrent

Methods

put :: Torrent -> Put

get :: Get Torrent

putList :: [Torrent] -> Put

data TorrentInfo Source #

Constructors

SingleFile 

Fields

MultiFile 

Fields

Instances

Instances details
Data TorrentInfo Source # 
Instance details

Defined in Data.Torrent

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TorrentInfo -> c TorrentInfo

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TorrentInfo

toConstr :: TorrentInfo -> Constr

dataTypeOf :: TorrentInfo -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TorrentInfo)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TorrentInfo)

gmapT :: (forall b. Data b => b -> b) -> TorrentInfo -> TorrentInfo

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TorrentInfo -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TorrentInfo -> r

gmapQ :: (forall d. Data d => d -> u) -> TorrentInfo -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> TorrentInfo -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TorrentInfo -> m TorrentInfo

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TorrentInfo -> m TorrentInfo

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TorrentInfo -> m TorrentInfo

Read TorrentInfo Source # 
Instance details

Defined in Data.Torrent

Methods

readsPrec :: Int -> ReadS TorrentInfo

readList :: ReadS [TorrentInfo]

readPrec :: ReadPrec TorrentInfo

readListPrec :: ReadPrec [TorrentInfo]

Show TorrentInfo Source # 
Instance details

Defined in Data.Torrent

Methods

showsPrec :: Int -> TorrentInfo -> ShowS

show :: TorrentInfo -> String

showList :: [TorrentInfo] -> ShowS

data TorrentFile Source #

Constructors

TorrentFile 

Fields

Instances

Instances details
Data TorrentFile Source # 
Instance details

Defined in Data.Torrent

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TorrentFile -> c TorrentFile

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TorrentFile

toConstr :: TorrentFile -> Constr

dataTypeOf :: TorrentFile -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TorrentFile)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TorrentFile)

gmapT :: (forall b. Data b => b -> b) -> TorrentFile -> TorrentFile

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TorrentFile -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TorrentFile -> r

gmapQ :: (forall d. Data d => d -> u) -> TorrentFile -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> TorrentFile -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TorrentFile -> m TorrentFile

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TorrentFile -> m TorrentFile

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TorrentFile -> m TorrentFile

Read TorrentFile Source # 
Instance details

Defined in Data.Torrent

Methods

readsPrec :: Int -> ReadS TorrentFile

readList :: ReadS [TorrentFile]

readPrec :: ReadPrec TorrentFile

readListPrec :: ReadPrec [TorrentFile]

Show TorrentFile Source # 
Instance details

Defined in Data.Torrent

Methods

showsPrec :: Int -> TorrentFile -> ShowS

show :: TorrentFile -> String

showList :: [TorrentFile] -> ShowS

readTorrent :: ByteString -> Either String Torrent Source #

torrentSize :: Torrent -> Integer Source #

Size of the files in the torrent.

showTorrent :: Torrent -> ByteString Source #

generates a torrent file

Due to lexographical ordering requirements of BEncoded data, this should generate the same ByteString that readTorrent read to generate the Torrent. However, torrent files may contain extensions and nonstandard fields that prevent that from holding for all torrent files.