1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
Max's list, core functionality:
- Alternate locations in Downloads
- Track for alternate locations
- Alternate locations in uploads
- Connection: Keep-Alife (upl/downl)
- Fair queuing for downloads
- Bandwidth-limiting for downloads
- 'Racing' mode for slow downloads
- Review and clean up downloads
- Dynamic plugin loader
* specify plugin interface
* implement plugin-scaner/enumerator
* plugin load on startup
* plugin (un)load during the run time (make sure it's able to remove
properties, save settings before, etc)
* Work on C style bindings
- Check '0' in ParseNumRanges
- Blacklist for results
- Monitor amount of free space on the download partition and dont let it
to get full
- Use locks in downloads to prevent multiple opening of the same files
- Signal-catcher thread, which will transform required signals into events
- Logging thread, which will wait for events and log them into files according to
the configuration
- Reimplement MAsyncFile with (a) reference-counting buffers and (b) delayed callbacks
- Segmented downloading (on hold till more clients support hashes)
- Proper autoconf support for Solaris to enable using native threads
- Do not share dot-files and dot-dirs
Max's list, plugins
- RPC plugin
Max's list, UI enhancements:
<library level>
- User-controlled autoget searches
- Approximate size searcing with properties-controlled tolerance (say 10% by default)
- Unwanted results list (to filter out downloaded or local files or manually-added
unwanted files)
- Detect Meta-info in the file being downloaded
<http-ui>
- Limit loop repears in HTTP interface by a form parameter
- 'Open' command for HTTP interface
- SSL support in http server
- Cgi-bin support
<cl-ui>
- Trap SIG_WINCH (depends on 'catcher-thread')
- Use readline's ability to detect terminal size
- 'background' command in the therminal ui (more or less unload the UI?)
Max's 'always important' entries:
- Document new properties in help command (BlackList and WordFilter)
- Check for memory leaks
- Write/update README.HTTP-UI (kinda relayed on Greg:)
- Update map pages
Greg's High Priority List:
- Add commandline arguments for loading specific config files.
- Replace all libc-mutexed functions with safe counterparts where
available.
- Move all "replacement" methods over to separate source files w/autoconfing
- Replace regex functions with true regex lib.
- Signal minimization - eliminate unnecessary non-nanosleeped waits.
- Support reading of metainfo header data from images
- Support reading of metainfo header data from AVIs
- Support reading of metainfo header data from QuickTime files
- Support reading of metainfo header data from audio formats
- Support reading of metainfo header data from <Quicktime if present>
- Support reading of metainfo header data from <avifile if present>
- Support reading of metainfo header data from <OpenQuickTime if present>
- Support sending of metainfo from library for search requests
- Support processing of incoming metainfo
- Support display of metainfo in transfer area
- Support display of metainfo in search area
- Support adding metainfo-based search parameters
- Support processing hits on metainfo for incoming queries.
- Support SHA1 urns
- Implement pong-caching
- Code reorganization to move protocol versions and protocol support to
"personality"
- 'Logging' system for logging uploads and download events.
Greg's Low Priority List
- Split backend into separate library which individual fe can link against
- Build Objective-C and Java JNI APIs for mutella backend.
- Change UI elements to use gettext() handling for internationalization
- Separate bandwidth in and bandwidth out in HTML -
NETBANDIN/OUT, UPLBANDIN/OUT, DOWNLBANDIN/OUT.
- Queueing enhancements - provide info on location in queue and eta
- Queueing enhancements - display info on location in queue and eta
- GGEP
- Autoconf: Add support for fink-awareness for includes/libs
- Autoconf: Add support for Solaris-awareness for includes/libs
- "Proxy" mode. Configured to act as proxy on behalf of a specific client,
which will make a continuous connection to all configured proxies, pass
through searches to it with other peers, etc. The proxy will then begin
transferring files to the proxy and stream that file back to the
central host. Could be a good way of making use of multiple high-bandwidth
locations from a low-speed or intermittently-connected host.
- 'Browse all at host' support - request and receipt
|