Gnutella Forums  

Go Back   Gnutella Forums > Current Gnutella Client Forums > Phex (Cross-platform) > Help & Support
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

Help & Support Information on the useage and anything else of Phex
- Unless you are using or asking about PHEX, please do not post in this section
(Get ”Phex 3.4.2.163 universal" now)


Reply
 
LinkBack Thread Tools Display Modes
  #11 (permalink)  
Old June 8th, 2023
Disciple
 
Join Date: May 18th, 2023
Posts: 19
kermithermos is a great assister to others; your light through the dark tunnel
Default

Yes you are right, there are other threads in older logs when more than one downloads were active. The log from above was when only one download was activated. I stopped all other downloads bec of better overview in logs.


But why is it called so often? Is one call not enough? Its only called in the shutdown(), flushing here makes sense and in the BufferVolumeTracker I dont know what that is for.


Ah theres this code in the inner class Sync extended from AbstractQueuedSynchronizer

Code:
        @Override
        protected final int tryAcquireShared( int acquires ) 
        {
            for (;;) 
            {
                int available = getState();
                int remaining = available - acquires;
                if ( remaining < 0 )
                {
                    dataWriter.triggerWriteCycle();
                    return remaining;
                }
                if ( compareAndSetState(available, remaining) )
                {
                    return remaining;
                }
            }

Seems the flushing of the buffer is never done in one step (or cannot be shure it is flushed 100%) and therefore this repeating calls until remaining is 0 to be shure all is flushed.



That explains a least these massive log entries and maybe the strange disc access noise while writing (short access patterns). Increasing Buffer sized helped a little bit but is never smooth enough.



The reason for this "fragmented writing noise" is probably this scopes play a role here, when the file parts are fragmented downloaded, the file size is increased from time to time to the highest fragments position. File is not created as a whole in the first place so you have real and bad fragmentation on disc.
Reply With Quote
  #12 (permalink)  
Old November 7th, 2023
Gone on vacation fishing, forever lost at sea
 
Join Date: November 7th, 2023
Posts: 3
Kay677 is a great assister to others; your light through the dark tunnel
Default

Hello, everyone. It was useful to read. Now I understand why the buffer is cleared so often.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -7. The time now is 02:07 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.