⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 最新的enhanced ctorrent源码
💻
📖 第 1 页 / 共 3 页
字号:
                        Enhanced CTorrent Change Log     _________________________________________________________________   Changes for "dnh3" Release   Important Stuff to Know     * You should always specify an upload bandwidth limit. With the most       recent changes in the program, this "option" is not just a limit       to stay under, but an advisement to the client as well. Enhanced       CTorrent now tunes its upload performance based on the limit.       Without a limit, the client has no idea how much bandwidth your       line can support and so cannot perform this tuning. It is now       possible to achieve better upload rates with a limit than without.       Due to the tit-for-tat nature of bittorrent, this can also       indirectly increase your download performance. If you just want       the client to use as much upload bandwidth as possible, then       choose a limit that is 10% or so less than the available upload       capacity of your line. ("Available" means not typically in use by       other applications.) Note that limits are specified in KB/s       (kilobytes per second), where 1KB = 1024 bytes (8192 bits). Your       ISP likely measures in "kilobits" (Kb, where 1Kb = 1000 bits or       125 bytes) or "megabits" (1Mb = 1000000 bits or 122KB). Some of       that [to the tune of 20% in some cases] is used by the line       protocol and thus not available to you at all.     * The CTCS protocol version has been incremented. If you've written       an application that interfaces with CTorrent via the CTCS       protocol, it should continue to work if you've used protocol level       negotiation (PROTOCOL message). The new changes have been       documented on the CTCS Protocol page.   Features and Performance     * Fast Restart          + "Background" initial hash verification: Downloading and            uploading will begin while pieces are being verified. Status            will be updated as pieces are checked, and HAVE messages are            sent as valid pieces are found.          + A bitfield save file is always used. At startup, if a file of            the same name as the torrent file with ".bf" appended is            present, it is read to initialize the piece bitfield. The            file is then deleted, and rewritten upon exit if downloading            has not completed.          + Pieces that are indicated as already present are verified by            hash check (in the background). If the bitfield file is not            found then all pieces are checked, unless this is the first            time the torrent has been started.          + The -b option can be used to specify a different bitfield            filename. Difference: The option is generally not needed            since it is now "on" by default. It now does not prevent hash            checking when used.          + The -f option now forces accuracy of the initial bitfield.            Stated differently, it disables the initial hash checking of            pieces on startup. This option should [still] be used with            caution and is generally not recommended since background            hash checking is now used. If the bitfield file is found at            startup, it is used without verification; otherwise, seed            mode is forced (without hash verification). Difference: The            effect is generalized to apply to incomplete torrents (when a            bitfield file is found) as well as the original behavior of            forcing seed mode (without a bitfield file).          + To emulate the original initial hash check behavior (avoiding            background checking), use the -c and -f options together.     * Cache Management          + Automatic cache size: The -C option now specifies the maximum            cache size, with the default remaining 16MB. The actual size            used is determined by the download and upload rates and            timings.          + The maximum cache size that can be specified is no longer            limited. The maximum size that will be used in any case is            the size of the torrent.          + Slices to be uploaded are prefetched into the cache during            idle time. This can shave a few milliseconds off the time to            respond to an upload request, and can also help performance            during periods of heavy disk activity. The effectiveness may            be reduced slightly when heavy upload limiting is used (as            uploading patterns become less predictable), but it is also            less critical then.          + A more efficient cache aging mechanism has been added. This            reduces CPU utilization and helps increase the accuracy of            cache size management.          + The cache is now indexed by piece to speed up searches and            insertion.          + Downloaded pieces are flushed to disk upon completion of each            piece.     * Unchoke Tuning          + The number of unchoked peers will be increased automatically            when the upload bandwidth limit is not being reached and            decreased when there is much contention for upload bandwidth.            This is done to maximize upload bandwidth utilization while            also maximizing the upload rate to each unchoked peer.          + Unchoke intervals are extended when necessary in order to            insure that each unchoked peer has at least a chance of an            opportunity to download.          + You must specify an upload bandwidth limit in order to use            these features. Without a limit, the client does not know the            line capacity or available bandwidth. In that case TCP            congestion control (the network protocol) limits the            bandwidth, so the number of active upload streams (unchokes)            is kept low in order to help it work properly when the line            reaches its capacity.     * Console I/O Management       This is really a mostly-transparent enabler for other new current       and future features.          + Several configuration commands are available while running.            Note that this requires termios, termio, or sgtty support to            work properly; otherwise try pressing Enter after the key. It            should be very rare for a system to not have one of these            facilities.               o Press "h" or "?" for a list of active keys. Inactive                 keys will immediately update the status line.               o Some commands prompt for additional input. The client                 continues to run while waiting, though the status line                 is not updated. An exception is the CTCS password; just                 try to be relatively quick about it.               o Commands shown with "+/-" use the "+" and "-" keys to                 increment or decrement the value. After pressing the                 command key, press "+" and/or "-" repeatedly to adjust                 the value. After five presses, the increment is                 increased; press the command key again if you wish to                 reset it.          + An Operator Menu allows changing output destinations,            choosing an alternate status line format, and viewing            detailed status information.          + Presentation of messages between status line updates is            cleaner.          + A timestamp (raw clock value) is printed on "verbose" output.     * Options          + Added User-Agent header to the tracker request. A new option            (-A) can be used to change the string that is sent (default            is shown on the help screen). This feature should help with            trackers that try to restrict use to recognized client            programs. You should only need to use the -A option if the            tracker has been set up to allow only specific clients            (almost certainly out of admin ignorance in one way or            another).          + The -p option now specifies the highest port number to use.            The client will count down from that point looking for an            available port. This mimics the default behavior of counting            down from port 2706.          + A new command line option ("-a") can be used to preallocate            the files to download. Use this if you are concerned about            file fragmentation or out-of-order block storage. This option            is only effective when initially creating the files and will            cause startup to take longer as each entire file is written            in order to reserve physical disk space. Note that all files            will be created and preallocated even if the "-n" option is            used to download a particular file.          + Added some option-specific error messages to be displayed            instead of the help/usage screen when invalid values are            given on the command line.     * Peer Handling          + Peer statistics are maintained if a peer is dropped and later            reconnects. This can influence unchoking, and the data is            visible with CTCS.          + The client is more discerning about choosing to reconnect to            a lost peer.          + Peer download rates (the rate at which we download from each            peer) are now measured more precisely. This should produce            more accurate unchoking decisions while downloading.          + Inactive peers (who are interested but don't request any data            while unchoked) are disconnected when seeding.          + A newly-interested peer will be unchoked immediately if an            opening is available.          + Latency measurement is used to avoid counting errors that are            likely due to transmission delays. To help with this, latency            is now also measured when not downloading from a peer. The            error threshold (tolerance) has also been reduced.          + Don't count piece hash failures during Initial & Endgame            modes, since it is likely that the component slices of a            piece came from multiple peers.     * Other performance improvements          + Bandwidth limiting is now based on current (most recent)            utilization rather than the past 20-second average. This            should produce smoother loading of the line since we don't            burst above the limit to make up for a recent slow period.            Note that average values are still shown in the status line            (and CTCS) since that is a better representation of the            overall transfer rates.          + Data transmission and receiving buffers are now much smaller            but are still increased as necessary (and now decreased when            appropriate as well).          + Some allowance has been made for time to appear to move            backwards, which could happen due to a system glitch,            hardware problem, or clock adjustment. This has not been            extensively tested (and probably won't be) but hadn't been            reported as a problem either.          + Timings related to bandwidth management and data transfer            have been significantly reworked to allow more precise and            accurate control.          + Unneeded and bad data is no longer cached and does not cause            additional piece completion checks.          + Added additional fdset tracking to reduce processing in the            checking and handling loops.          + Other code optimizations not specifically listed here.     * The Pause functionality is now more useful; it will now stop       transferring torrent data almost immediately but still interact       with peers and the tracker.   Bux Fixes     * Fixed a potential crash when reassigning a piece to a faster peer.       While a serious bug, it would likely only show itself on       memory-contrained systems.     * Fixed reporting of file completion when using -n, and also with       CTCS.     * Ensure that the "completed" event is sent to the tracker during       the next attempt if contacting the tracker is unsuccessful.     * The amount of data transferred since the last update, shown in the       status line, would go berzerk upon becoming a seeder. Some rate       handling code has been cleaned up and tweaked to fix this.     * A piece could be incorrectly reported as complete if an error       occurred reading the piece data for hash verification.     * Ensure that the client sends the tracker the "completed" event       upon the next connection if contacting the tracker fails.   Code Cleanup     * Moved version number into a new m4 file to make patch distribution       easier.     * Changed method of locating and using SSL library and header files

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -