Xman | 27. September 2003 09:42 | Hier gibts bereits auch schon die alpha3: Zitat: eMule Pawcio 4.0 Alpha3a
with important fixes and tunes For a description on "Bandwidth control" tab look below features list.
Binaries:
--->eMule 0.30a Pawcio 4.0 Alpha3a
Sources:
--->eMule 0.30a Pawcio 4.0 Alpha3a Sources
Dump version:
--->eMule 0.30a Pawcio 4.0 Alpha3a Dump Features: 1. Pawcio Bandwidth Control (Tag: "Pawcio: BC") - tab "Bandwidht Control" in Preferences. Completly new upload system based on Maella (50 ms, packets splitting), ZZ (USS) and own ideas. -->A. Special algorithm for minimaliziation of opened slots (as an option: can be turn on/off by "Minimize number of opened slots" option)
-->B. Bandwidth Setting in 0.1 kB increaments (Maella idea)
-->C. Simplified options for USS (now you have to choose only the minimal upload and decide how much eMule should use your bandwidth - slider - no more need of % of lowest ping)
-->D. Advanced option for USS (you can exactly choose what max ping should be and which server to ping)
-->E. Auto managment of Max Connections and Max Connections per 5 second. If you set them too high BC can detect this(auto managment can be turn on/off by Manage of active connections)
Info: BC changes only too high settings (when managment is turned on), if they are resonable, they won't be changed
-->F. Possibility of "catching" whole eMule upstream within specified limits:
-->--> I: eMule protocol, IP, TCP, UDP header overhead (option "Include Overhead")
-->--> II: TCP connection negotiations (option "Include connections overhead") - empiric calculations
-->--> III: TCP acknowledge packets (option "Include TCP Ack") - empiric (doesn't not take account of RWIN size - only 2.5% of stream)
-->G. Cumulate upload bandwidth to certain slots (as an option - "Cumulate Bandwitdth for upload slots") - idea of ZZ:SlotFocus
-->H. "Session up:down 1:4 limit" from Morph Next.
-->I. Status of USS (working, preparing, etc) and all limits (up, down) can be seen on Bandwidth Control Tab (you can enter any value in Connection tab but limits of ratio are preserved, you can see them on Status on Bandwidth Control Tab)
-->J. There is new type of clients: Clients on reserved upload list (ready in any time to start upload):
-->--> - when "Minimize number of opened slots" is not selected, reserved client is added when client on upload queue is just ending its session (so reserved client is able to prepare before taking the freed slot - no delays)
-->--> - when "Minimize number of opened slots" is selected, there is quantified number of reserved clients (algorithm in CUploadQueue::AcceptToReserve)
-->--> - when "Cumulate Bandwidth for upload slots" is selected, reserved clients are very similar to Trickle Slots in ZZUL (so there is rotation between upload queue and reserved upload queue)
-->K. Blue lines added to graphs (in Statistic Window) showing whole current upload and download (with whole overhead)
Info:
When "Include connectino overhead" is selected you have to set minimum 11kB/s (instead of 10kB/s) for upload limit to have unlimited download, and minimum 3.5 kB/s (instead of 3kB/s) to have 4x ratio.
When "Include TCP Ack" is selected Session up:down ratio (ZZ:RATIO from MorphNext) is forced. All limits you can see on Status - Bandwidth Control. 2. Release Window from The Black Hand mod - access to news, releases from eMule! 3. Antivirus Check from The Black Hand mod - scan for viruses just completed files! (configuration in "Extended Settings" in Preferences) 4. Tray menu from eMule Plus mod with fast access to Upload Speed Sense (USS) options. (tag Pawcio: TrayMenu) 5. Upload Speed Sense now in Scheduler. 6. Safe Hash - full implementation from SF-IOM mod 7. Merge Known - saves statistics also for not completed files (from SF-IOM mod) 8. New Credits (as an option in "Extended Settings" - "Pawcio Credits"): - Range from 1.0 to 100.0
- Multiplier of 3 (instead of 2) ---- ratio = 3 * downloaded / uploaded
- For new clients (downloaded and uploaded data less than 1MB) ratio = 3.0 (instead of 1.0)
- If you have recieved more than 1MB from someone but haven't given anything back user gets ratio = 100.0
- Small bonus for clients that have given you many MB:
- if you get 100MB then user recieve ratio = 50.0 till you give back 108MB
- 50MB - ratio = 25.0 - 55MB
- 25MB - ratio = 12.0 - 28MB
- 10MB - ratio = 5.0 - 12MB 9. Mod version (partially form The Black Hand mod) - see what mods are using other users 10. Configuration of MSS in Connection Tab (from Morph Next and LSD mod) 11. Code fixes:
- Maella fixes for Sockets
- fix in CUploadQueue::AddClientToQueue()
- fix in CUpDownClient::unzip()
- fix in CUpDownClient::TryToConnect() Short guide (recommended settings):
USS Group:
- deselect "Max ping allowed"
- URL to ping - select Auto
- select options: "Minimize number of opened slots", "Cumulate bandiwidth...", "Include overhead", "Manage of active connections", "Include connection overhead", "Include TCP Ack packets"
- use slider (above "Max ping allowed" or on TrayMenu) to find best surfing experience.
Limits in USS group: 1. for T-DSL 768/128 (mostly Germany)
- Min upload - 11
- Max upload - 16
- deselect "Session up:down limit" and "Include TCP Ack packets" 2. for T-DSL 1536/256 (mostly Germany)
Min upload - 14
Max upload - 30
- deselect "Session up:down limit" and "Include TCP Ack packets"
3. for 512/128 (mostly France, Poland)
Min upload - 8
Max upload - 15
- select "Session up:down limit" and "Include TCP Ack packets" Description of "Bandwidth Control" tab: USS (Upload Speed Sense) Group:
USS (work of ZZ :respect: ) dynamically finds current, best upload rate from the range of "Min upload in kB/s" and "Max upload in kB/s". "Max upload in kB/s" can be found automatically by selecting "Auto" box. USS lower the upload when other applications are using your connection or when mule is downloading very fast (important for ADSL user when download can be limited by upload). The key of USS to work is pinging a host. USS can find the proper host to ping for you (just select "Auto" box, on the right of "URL/IP to ping:" input box). If searching fails (very rearly) it uses host given in "URL/IP to ping". If you know which host to ping
unselect "Auto" box and input own address. By pinging, USS gets replies from host and on this basis it knows what to do (increase or decrease current upload). USS has to have a value to comapre with received respons from host, this value is "Max ping allowed". It would be the best if you could know what is proper ping for your connection (if you know, then select "Max ping allowed" box and input it). If you don't know, do not select "Max ping allowed" box, instead use intuitive slider above (it will find the proper ping for on the base of lowest ping calculated during preparation of USS). When you move slider on the left upload will be lower but you can surf the net easily, on the right - opposite behaviour. Minimize number of opened slots - when this option is selected eMule will open less slots than original if it is possible (if less users can take more bandwidth). It means that the chunks will arrive faster to users. Cumulate bandwidth for upload slots (idea of ZZ: Slot Focus - but a bit diffrent) - when this option is not selected eMule tries to upload to all users on upload queue with the same speed. Selecting this option is causing that eMule always upload to one user (Priority client - no matter wheter he has slow or fast connection) and then rest bandwidth gives for the fastest users (faster spread of chunks). Priority client is always client which was first on upload queue (stayed the longest), thanks to this for every client ("fast", "slow") will be a turn to get data. Session up:down limit (1:4) (idea of ZZ, changed by MorphNext) - instead of 1:3 and 1:4 ratio for download (or unlimited when upload higher than 10) there is limit 1:4 for session. As long as you have downloaded less than 4 times the amount you uploaded (or you are uploading higher than 10kB/s) the limit of download is the same as value entered in "Connection tab" (so it can be unlimited). When you have downloaded more - the download is limited to preserve 1:4 session ratio. Include overhead - eMule upload not only file data. It comunicates with other users (queue ranks, names of files, hashes, etc), server. If you want this upload can within limits defined in "Connection" tab or USS. Manage of active connection - when this option is selected and you have too high values of "Max connections" and "Max connections per 5 sec for your connection, they will be adjusted automatically when needed. Include connection overhead - not only eMule communicates between users, system and network layer also (on diffrent level). This system communication can take a lot of bandwidth especially when sorces are loaded (SLS system, or a file with a lot sources from server). It's almost impossible to calculate this overhead exactly, but an approximate is acceptable. You can include this overhead within upload limits (USS or "Connection tab"). Keep in mind that to have the unlimited download or 1:4 ratio with this option selected the limits for upload were chaned:
- unlimited download needs minimum 11kB/s upload instead of 10
- 1:4 ratio needs minimum 3.5 kB/s upload instead of 3 Include TCP Ack Packets - every data received needs to be acknowledged (it is TCP ACK packet), so it's generating upstream. The amount of overhead is hardly to calculate exactly, it depends on many settings (e.g RWIN). But as with "Include connection overhead" some approximation can be done (64kB/s downstream needs circa 1.5kB/s upstream). You can include this overhead within upload limits but then Session up:down limit (1:4) is enforced. Status Group:
Here you can see what's happening with USS, what are the limits of download (limited by settings described above - so you don't have to calculate them) and what host is pinged. USS/DSS can be Disabled / Preparing / Succesfull / Failed.
I hope it is understandable. Sorry for my english ;) Alpha3a version - 27.09.2003: [FIXED] Performace fix for Bandwidth Control
[FIXED] Bug in DwonloadQueue (thanks to lcf)
Alpha3 version - 27.09.2003:
[FIXED] Yellow icons again(thanks to MorTillo)
[FIXED] Fast cycling of queue when no connection (thanks to Meuh6879)
[FIXED] Important fixes and tunes for Bandwidth Control
Alpha2 version - 24.09.2003:
[FIXED] Number of opened slots
[FIXED] Yellow icons of clients now displayed properly in transfer window[/color]
Alpha version - 22.09.2003
Best Regards,
Pawcio
| |