| Under Construction This proposal is under construction and is not ready for review. |
Zend Framework: Zend_BitTorrent_Tracker Component Proposal
| Proposed Component Name | Zend_BitTorrent_Tracker |
|---|---|
| Developer Notes | http://framework.zend.com/wiki/display/ZFDEV/Zend_BitTorrent_Tracker |
| Proposers | Christer Edvartsen |
| Revision | 0.1 - 25 January 2008: Created proposal page (wiki revision: 3) |
Table of Contents
1. Overview
Zend_BitTorrent_Tracker will be a generic BitTorrent tracker that can be used to offer .torrent files on your site and have user statistics of the users who use your tracker.
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
4. Dependencies on Other Framework Components
- Zend_BitTorrent_Encoder
- Zend_BitTorrent_Decoder
- Zend_Exception
5. Theory of Operation
6. Milestones / Tasks
7. Class Index
8. Use Cases
9. Class Skeletons
The idea is to build it as generic as possible, but it will rely on what kind of backend the developers wanting a tracker uses. I am thinking about making some kind of adapter interface and a generic mysql adapter that developers will have to configure so it will fit their table names and fields and so on.
The announce it self it not that heavy... it all depends on how you talk to the backend (be it a database, flat files or something else).
If you have any tips please post them here. I have not (yet) looked at btit as you mentioned so I don't know how that works...
Announce usually has heavy load because of tons of requests (1000 users x 10 active torrents x 2 announces per hour = 20000 requests per hour). I was developing one tracker (on btit engine) year ago and the load of announce was 98% and tracker web had 2% of the whole traffic. And ZF cause some overhead -> announce needs to be as fast as possible.
If you have a clear idea what to do, don't let me disturb you with these pessimistic notes
hehe, pessimistic comments are sometimes good! ![]()
The component will actually only be an announcer so I might have given the component a wrong name. I'm not going to make a complete tracker system like btit (I just had a look at it). I would rather make an announcer that can be used inside a tracker system.
The problem is just making it configurable enough and also fast. I will put up some code here soon and probably commit some stuff to the laboratory for others to view and comment on.
But as I said earlier, if you have any comments or ideas (pessimistic or not) I'm happy to read them. ![]()
ZF Home Page
Code Browser
Wiki Dashboard
Hi,
nice idea, but how complex will this component be? How will it differ from other trackers software (btit and so on)?
You should build standalone torrent tracker software using ZF, but in this case, remember that announce script has VERY HIGH load all the time (probably seprated php script without Zend_Controller would be OK)