Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ECF BitTorrent Provider"

m (BitTorrent API: Renaming 'API' to 'Data Model')
(BitTorrent Data Model: Updating the classes with descriptions)
Line 9: Line 9:
 
===org.eclipse.bittorrent===
 
===org.eclipse.bittorrent===
 
*Host
 
*Host
 +
The Host class reads in a Torrent and begins connecting to peers to upload and download pieces.
  
 
*Torrent
 
*Torrent
 +
A Torrent is a representation of the metainfo stored within a ''.torrent'' file, it is capable of performing a hash check against a file or directory to see whether the download has completed or not.
  
 
===org.eclipse.bittorrent.internal.encode===
 
===org.eclipse.bittorrent.internal.encode===
 
*BEecodedDictionary
 
*BEecodedDictionary
 +
A BEncodedDictionary holds the key-value pairs stored within a bencoded string.
  
 
*Decode
 
*Decode
 +
The Decode class performs decoding tasks such as interpreting the contents of a torrent file or reading bits within a byte to determine what pieces a specific peer has completed.
  
 
*Encode
 
*Encode
 +
Encode converts or alters information by using algorithms or shifting bits.
  
 
===org.eclipse.bittorrent.internal.net===
 
===org.eclipse.bittorrent.internal.net===
 
*ConnectionPool
 
*ConnectionPool
 +
The ConnectionPool class is a thread pool that manages a number of ConnectionThreads, this number can be altered but is not recommended as excessive connections can cause major network congestions.
  
 
*ConnectionThread
 
*ConnectionThread
 +
A ConnectionThread manages one PeerConnection to read and write to the socket that has been opened to a peer.
  
 
*PeerConnection
 
*PeerConnection
 +
A PeerConnection uses a SocketChannel to talk to one of the peers retrieved from the tracker, it handles all protocol-related information such as choking and unchoking the peer and reading in the blocks of data for a piece.
  
 
===org.eclipse.bittorrent.internal.torrent===
 
===org.eclipse.bittorrent.internal.torrent===

Revision as of 18:12, 7 June 2006

Project Lead: Remy Chi Jian Suen

Mentor(s): Wayne Beaton, Scott Lewis, and Chris Aniszczyk

The goal if this project is to create an implementation of the file sharing API provided by the Eclipse Communication Framework using the BitTorrent protocol.

BitTorrent Data Model

org.eclipse.bittorrent

  • Host

The Host class reads in a Torrent and begins connecting to peers to upload and download pieces.

  • Torrent

A Torrent is a representation of the metainfo stored within a .torrent file, it is capable of performing a hash check against a file or directory to see whether the download has completed or not.

org.eclipse.bittorrent.internal.encode

  • BEecodedDictionary

A BEncodedDictionary holds the key-value pairs stored within a bencoded string.

  • Decode

The Decode class performs decoding tasks such as interpreting the contents of a torrent file or reading bits within a byte to determine what pieces a specific peer has completed.

  • Encode

Encode converts or alters information by using algorithms or shifting bits.

org.eclipse.bittorrent.internal.net

  • ConnectionPool

The ConnectionPool class is a thread pool that manages a number of ConnectionThreads, this number can be altered but is not recommended as excessive connections can cause major network congestions.

  • ConnectionThread

A ConnectionThread manages one PeerConnection to read and write to the socket that has been opened to a peer.

  • PeerConnection

A PeerConnection uses a SocketChannel to talk to one of the peers retrieved from the tracker, it handles all protocol-related information such as choking and unchoking the peer and reading in the blocks of data for a piece.

org.eclipse.bittorrent.internal.torrent

  • DataFile

External Links

Eclipse Communication Framework Website

BitTorrent Specification

Back to the top