bittorrent vocabulary
Factor handbook ยป Vocabulary index


Summary
BitTorent protocol for peer-to-peer file sharing.

Metadata
Authors:John Benediktsson


Words

Tuple classes
ClassSuperclassSlots
allowed-fast tupleindex
bitfield tuplebitfield
cancel tupleindex begin length
choke tuple
extended tupleid payload
handshake tuplestring reserved info-hash peer-id
have tupleindex
have-all tuple
have-none tuple
interested tuple
keep-alive tuple
magnet tupledisplay-name exact-length exact-topic web-seed acceptable-source exact-source keyword-topic manifest-topic address-tracker select-only peer
not-interested tuple
peer disposabletorrent remote stream local handshake self-choking self-interested peer-choking peer-interested timer #pieces piece-length bitfield current-index current-piece
piece tupleindex begin block
port tupleport
reject-request tupleindex begin length
request tupleindex begin length
suggest-piece tupleindex
torrent tuplemetainfo tracker peers
unchoke tuple
unknown tupleid payload


Generic words
WordStack effect
handle-message( peer message -- peer )
load-metainfo( obj -- metainfo )
write-message( message -- )


Symbol words
torrent-directory
torrent-max-block-size
torrent-peer-id
torrent-port


Ordinary words
WordStack effect
<handshake>( info-hash peer-id -- handshake )
<peer>( torrent remote -- peer )
<torrent>( metainfo -- torrent )
>message( bytes -- message )
ALPHANUMERIC( -- value )
announce-url( metainfo -- url )
bitfield-index( n -- j i )
check-bitfield( n bitfield -- ? )
choke-peer( peer -- peer )
connect-peer( peer -- peer )
fast-peer?( peer -- ? )
handshake-peer( peer -- peer )
http-get-bencode( url -- obj )
info-hash( metainfo -- hash )
load-tracker( torrent -- response )
magnet-link>magnet( url -- magnet-url )
message>( message -- bytes )
next-block( peer -- peer )
parse-message( bytes -- message/f )
parse-peer4( peerbin -- inet4 )
parse-peer4s( peersbin -- inet4s )
parse-peer6( peerbin -- inet6 )
parse-peer6s( peersbin -- inet6s )
random-peer( torrent -- peer )
random-peer-id( -- bytes )
read-handshake( -- handshake/f )
read-int( -- n/f )
read-message( -- message )
read-messages( peer -- peer )
request-piece( peer -- peer )
save-block( peer -- peer )
scrape-url( metainfo -- url/f )
send-event( torrent event -- response )
set-bitfield( elt n bitfield -- )
torrent-path( torrent -- path )
tracker-url( metainfo -- url )
unchoke-peer( peer -- peer )
update-tracker( client -- client )
verify-block( peer -- peer )
with-debug( quot -- )
with-peer( peer quot -- )
write-handshake( handshake -- )
write-int( n -- )


Class predicate words
WordStack effect
allowed-fast?( object -- ? )
bitfield?( object -- ? )
cancel?( object -- ? )
choke?( object -- ? )
extended?( object -- ? )
handshake?( object -- ? )
have-all?( object -- ? )
have-none?( object -- ? )
have?( object -- ? )
interested?( object -- ? )
keep-alive?( object -- ? )
magnet?( object -- ? )
not-interested?( object -- ? )
peer?( object -- ? )
piece?( object -- ? )
port?( object -- ? )
reject-request?( object -- ? )
request?( object -- ? )
suggest-piece?( object -- ? )
torrent?( object -- ? )
unchoke?( object -- ? )
unknown?( object -- ? )


Files


Metadata files