View Single Post
Old 10-01-2010, 09:10 AM  
DayCuts
Senior Member
 
Join Date: Dec 2003
Posts: 421
Default

Performed a test on this myself (re my question). Started a transfer of files a,b and c in one session, while file a was still transferring i sent over file c in another session. When the original session got to file c no check was performed and the result was it STOR'ing the file. In this test is unnecessarily overwrote the file (as the server allows this action, but if the server was to deny this action the file would be marked failed in the queue).

This confirms my original assumption that FlashFXP assumed the latest list data it had received was accurate by default (with the size/date check option disabled). This is what led me to believe that the option was designed to work with the file exists rules to intuitively overcome the possibility of overwriting a file or ending up with failed items that if checked could have matched FER's.

In brief my assumption were... when the option is off size/date checks are never performed (confirmed in tests) and when the option is on size/date checks are performed intuitively as neccersary. If the program has the information, and in my original post example it matches, it can logically assume that they remain as such. But if a file did not exist then the information does not exist (NULL value can not be compared to non-NULL value) and so it would check prior to transfer in case it now exists.

However i see now that... when the option is off size/date checks are never performed and when the option is on size/date checks are always performed.

I guess its a choice between the pros and cons of each side. Personally i guess i would prefer the size/date checks be done in situations where i know they perform no useful task for me, than allow the possibility of unintended file overwrites/etc.


My only thought here would be possibly having this option in 3 (never/off, intuitive, always/on) states rather than 2 (never/off, always/on). But while my personal opinion on 'intuitive' would be to assume any information already available is accurate and any missing information would trigger a recheck prior to transfer (i believe intuitive programming should never be overcomplicated as this approaches a point of trying to read the users mind for every possible specific or rare situation), i can see that others may have a different opinion on the level of intuitive behavior.

This post turned out much longer than i had planned, bit of a ramble sorry about that
DayCuts is offline