| Under Construction This proposal is under construction and is not ready for review. |
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_Bittorrent is a component that can be used to encode and decode data in the bittorrent format. Zend_Bittorrent will contain convenient methods for accessing methods in the Zend_Bittorrent_Encoder and Zend_Bittorrent_Decoder classes.Zend Framework: Zend_Bittorrent Component Proposal
Proposed Component Name
Zend_Bittorrent
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_Bittorrent
Proposers
Christer Edvartsen
Revision
1.1 - 1 August 2006: Updated from community comments. (wiki revision: 3)
Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This component will encode any encodable PHP variable (int, string, array).
- This component will decode a bittorrent encoded string back to the original PHP counterpart.
- This component will decode entire bittorrent files (typically .torrent)
4. Dependencies on Other Framework Components
- Zend_Exception
5. Theory of Operation
When decoding it will first figure out what kind of variable the bittorrent encoded string represents and then iterate through the string decoding all nested parts (if any). When encoding it will follow the simple rules of the bittorrent specification.
6. Milestones / Tasks
- Milestone 1: [Partially done] Initial design of the classes
- Milestone 2: Working prototype checked into the incubator
- Milestone 3: Unit tests exist, work, and are checked into SVN.
- Milestone 4: Initial documentation exists.
7. Class Index
- Zend_Bittorrent
- Zend_Bittorrent_Encoder
- Zend_Bittorrent_Encoder_Exception
- Zend_Bittorrent_Decoder
- Zend_Bittorrent_Decoder_Exception
8. Use Cases
| UC-01 |
|---|
Encode a string using the Zend_Bittorrent class:
| UC-02 |
|---|
Encode a string using the Zend_Bittorrent_Encoder class:
| UC-03 |
|---|
Decode a bittorrent file using the Zend_Bittorrent class:
| UC-04 |
|---|
Decode a bittorrent file using the Zend_Bittorrent_Decoder class:
9. Class Skeletons
class Zend_Bittorrent_Decoder_Exception extends Zend_Exception {}