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"

(BitTorrent Data Model: Updating the classes with descriptions)
(BitTorrent Data Model: Shortening descriptions)
Line 8: Line 8:
  
 
===org.eclipse.bittorrent===
 
===org.eclipse.bittorrent===
*Host
+
*Host - reads in a Torrent connects to peers to begin seeding or downloading
The Host class reads in a Torrent and begins connecting to peers to upload and download pieces.
+
  
*Torrent
+
*Torrent - a representation of the metainfo stored within a ''.torrent'' file
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 - holds the key-value pairs stored within a bencoded string.
A BEncodedDictionary holds the key-value pairs stored within a bencoded string.
+
  
*Decode
+
*Decode - decodes information such as the contents of a torrent file
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 for use
Encode converts or alters information by using algorithms or shifting bits.
+
  
 
===org.eclipse.bittorrent.internal.net===
 
===org.eclipse.bittorrent.internal.net===
*ConnectionPool
+
*ConnectionPool - a thread pool that manages ConnectionThreads
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 - creates a PeerConnection to talk to a peer
A ConnectionThread manages one PeerConnection to read and write to the socket that has been opened to a peer.
+
  
*PeerConnection
+
*PeerConnection - connects to a peer and exchanges information
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===
*DataFile
+
*DataFile - a representation of a file on the user's system for read/write operations
 +
 
 +
*Piece - a piece of data that is needed to complete a download
  
 
== External Links ==
 
== External Links ==

Revision as of 18:18, 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 - reads in a Torrent connects to peers to begin seeding or downloading
  • Torrent - a representation of the metainfo stored within a .torrent file

org.eclipse.bittorrent.internal.encode

  • BEecodedDictionary - holds the key-value pairs stored within a bencoded string.
  • Decode - decodes information such as the contents of a torrent file
  • Encode - converts or alters information for use

org.eclipse.bittorrent.internal.net

  • ConnectionPool - a thread pool that manages ConnectionThreads
  • ConnectionThread - creates a PeerConnection to talk to a peer
  • PeerConnection - connects to a peer and exchanges information

org.eclipse.bittorrent.internal.torrent

  • DataFile - a representation of a file on the user's system for read/write operations
  • Piece - a piece of data that is needed to complete a download

External Links

Eclipse Communication Framework Website

BitTorrent Specification

Back to the top