summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent/Core/PeerId.hs
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2013-12-05 04:58:26 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2013-12-05 04:58:26 +0400
commitfda80933f98f6998ac872ab617026ecf06e4768c (patch)
tree60da38644cd3ce07884db666af1d8f105986a927 /src/Network/BitTorrent/Core/PeerId.hs
parent3399beaf2f38d19ed615655f865f3bc8b0cb9309 (diff)
Rename ClientInfo datatype to Fingerprint
Diffstat (limited to 'src/Network/BitTorrent/Core/PeerId.hs')
-rw-r--r--src/Network/BitTorrent/Core/PeerId.hs20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/Network/BitTorrent/Core/PeerId.hs b/src/Network/BitTorrent/Core/PeerId.hs
index 8deb854a..f30308d4 100644
--- a/src/Network/BitTorrent/Core/PeerId.hs
+++ b/src/Network/BitTorrent/Core/PeerId.hs
@@ -30,7 +30,7 @@ module Network.BitTorrent.Core.PeerId
30 , defaultVersionNumber 30 , defaultVersionNumber
31 31
32 -- * Decoding 32 -- * Decoding
33 , clientInfo 33 , fingerprint
34 ) where 34 ) where
35 35
36import Control.Applicative 36import Control.Applicative
@@ -175,7 +175,7 @@ defaultClientId = "HS"
175-- package. Version is taken from .cabal file. 175-- package. Version is taken from .cabal file.
176defaultVersionNumber :: ByteString 176defaultVersionNumber :: ByteString
177defaultVersionNumber = BS.take 4 $ BC.pack $ foldMap show $ 177defaultVersionNumber = BS.take 4 $ BC.pack $ foldMap show $
178 versionBranch $ ciVersion libClientInfo 178 versionBranch $ ciVersion libFingerprint
179 179
180{----------------------------------------------------------------------- 180{-----------------------------------------------------------------------
181-- Generation 181-- Generation
@@ -294,23 +294,23 @@ parseImpl = f . BC.unpack
294-- peer id uses unknown coding style then client info returned is 294-- peer id uses unknown coding style then client info returned is
295-- 'def'. 295-- 'def'.
296-- 296--
297clientInfo :: PeerId -> ClientInfo 297fingerprint :: PeerId -> Fingerprint
298clientInfo pid = either (const def) id $ runGet getCI (getPeerId pid) 298fingerprint pid = either (const def) id $ runGet getCI (getPeerId pid)
299 where 299 where
300 getCI = do 300 getCI = do
301 leading <- BS.w2c <$> getWord8 301 leading <- BS.w2c <$> getWord8
302 case leading of 302 case leading of
303 '-' -> ClientInfo <$> getAzureusImpl <*> getAzureusVersion 303 '-' -> Fingerprint <$> getAzureusImpl <*> getAzureusVersion
304 'M' -> ClientInfo <$> pure IMainline <*> getMainlineVersion 304 'M' -> Fingerprint <$> pure IMainline <*> getMainlineVersion
305 'e' -> ClientInfo <$> getBitCometImpl <*> getBitCometVersion 305 'e' -> Fingerprint <$> getBitCometImpl <*> getBitCometVersion
306 'F' -> ClientInfo <$> getBitCometImpl <*> getBitCometVersion 306 'F' -> Fingerprint <$> getBitCometImpl <*> getBitCometVersion
307 c -> do 307 c -> do
308 c1 <- w2c <$> lookAhead getWord8 308 c1 <- w2c <$> lookAhead getWord8
309 if c1 == 'P' 309 if c1 == 'P'
310 then do 310 then do
311 _ <- getWord8 311 _ <- getWord8
312 ClientInfo <$> pure IOpera <*> getOperaVersion 312 Fingerprint <$> pure IOpera <*> getOperaVersion
313 else ClientInfo <$> pure (getShadowImpl c) <*> getShadowVersion 313 else Fingerprint <$> pure (getShadowImpl c) <*> getShadowVersion
314 314
315 getMainlineVersion = do 315 getMainlineVersion = do
316 str <- BC.unpack <$> getByteString 7 316 str <- BC.unpack <$> getByteString 7