web3-0.9.0.0: src/Network/Ipfs/Api/Bitswap.hs
-- |
-- Module : Network.Ipfs.Api.Bitswap
-- Copyright : Alexander Krupenkin 2016
-- License : BSD3
--
-- Maintainer : mail@akru.me
-- Stability : experimental
-- Portability : unknown
--
-- Api calls with `bitswap` prefix.
--
module Network.Ipfs.Api.Bitswap where
import Control.Monad.IO.Class (MonadIO (..))
import Data.Text (Text)
import Network.Ipfs.Api.Internal (_bitswapLedger,
_bitswapReprovide,
_bitswapStat, _bitswapWL)
import Network.Ipfs.Api.Internal.Call (call)
import Network.Ipfs.Api.Types (BitswapLedgerObj,
BitswapStatObj, BitswapWLObj,
ReprovideReturnType)
import Network.Ipfs.Client (IpfsT)
-- | 'Show some diagnostic information on the bitswap agent.
stat :: MonadIO m => IpfsT m BitswapStatObj
stat = call _bitswapStat
-- | Show blocks currently on the wantlist.
wl :: MonadIO m => IpfsT m BitswapWLObj
wl = call _bitswapWL
-- | Show the current ledger for a peer.
ledger :: MonadIO m => Text -> IpfsT m BitswapLedgerObj
ledger = call . _bitswapLedger
-- | Trigger reprovider.
reprovide :: MonadIO m => IpfsT m ReprovideReturnType
reprovide = call _bitswapReprovide