Have ideas to improve npm?Join in the discussion! »

    torrent-piece

    2.0.1 • Public • Published

    torrent-piece ci npm downloads javascript style guide

    Torrent piece abstraction

    Sauce Test Status

    Also works in the browser with browserify! This module is used by WebTorrent and torrent-stream.

    install

    npm install torrent-piece
    

    usage

    const Piece = require('torrent-piece')
    
    Piece.BLOCK_LENGTH // 16384
    
    const pieceLength = Piece.BLOCK_LENGTH * 5
    const piece = new Piece(pieceLength)
    piece.missing // 81920
    
    piece.reserve() // 0
    piece.set(0, someBuffer0)
    
    piece.reserve() // 1
    piece.reserve() // 2
    piece.reserve() // 3
    
    piece.set(1, someBuffer1)
    piece.set(2, someBuffer2)
    piece.set(3, someBuffer3)
    
    piece.reserve() // 4
    piece.cancel(4) // cancel the reservation of a chunk
    
    piece.reserve() // 4 (given out again)
    piece.set(4, someBuffer4)
    
    // handy functions
    piece.chunkLength(0) // 16384
    piece.chunkOffset(0) // 0
    
    // eventually, when no more chunks left...
    
    piece.reserve() // -1 (signal that all chunks are reserved)
    piece.missing // 0
    
    const pieceBuffer = piece.flush()
    console.log(pieceBuffer)

    license

    MIT. Copyright (c) Feross Aboukhadijeh and WebTorrent, LLC.

    Install

    npm i torrent-piece

    DownloadsWeekly Downloads

    3,976

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    6.9 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar