On Friday 17 April 2009 12:48:23 j16sdiz at freenetproject.org wrote:
> Author: j16sdiz
> Date: 2009-04-17 11:48:22 +0000 (Fri, 17 Apr 2009)
> New Revision: 26934
> 
> Modified:
>    trunk/freenet/src/freenet/client/async/InsertCompressor.java
> Log:
> Actually, we don't need this check
> 
> Modified: trunk/freenet/src/freenet/client/async/InsertCompressor.java
> ===================================================================
> --- trunk/freenet/src/freenet/client/async/InsertCompressor.java      
> 2009-04-17 
11:45:10 UTC (rev 26933)
> +++ trunk/freenet/src/freenet/client/async/InsertCompressor.java      
> 2009-04-17 
11:48:22 UTC (rev 26934)
> @@ -133,6 +133,7 @@
>  
>                               result = comp.compress(origData, 
> bucketFactory2, origSize, 
bestCompressedDataSize);
>                               long resultSize = result.size();
> +                             // minSize is 
> {SSKBlock,CHKBlock}.MAX_COMPRESSED_DATA_LENGTH
>                               if(resultSize < minSize) {
>                                       if(logMINOR)
>                                               Logger.minor(this, "New size 
> "+resultSize+" smaller then 
minSize "+minSize);
> @@ -146,10 +147,7 @@
>                                       shouldFreeOnFinally = false;
>                                       break;
>                               }
> -                             if(resultSize < bestCompressedDataSize && 
> -                                             // If compressing to CHK, 
> origSize will always be greater
> -                                             // If compressing to SSK, we 
> are not interested unless we can get it 
small enough to fit in the SSK itself
> -                                             (origSize > 
> CHKBlock.DATA_LENGTH || resultSize <= 
SSKBlock.DATA_LENGTH)) {
> +                             if(resultSize < bestCompressedDataSize) {
>                                       if(logMINOR)
>                                               Logger.minor(this, "New size 
> "+resultSize+" better than old 
best "+bestCompressedDataSize);
>                                       if(bestCompressedData != null && 
> bestCompressedData != origData)

This is correct, but not for the reasons given. We already check whether it 
fits in a block of the expected size. And if it is over a block originally, 
clearly we want to compress it. The interesting case is when we want to 
insert it to an SSK (minSize = 1K), but it only fits into a CHK (32K). 
However, for reasons of crypto, we should always insert the best (smallest) 
compressed data, even if it takes the same time to transfer and longer to 
decompress.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20090418/6cc8d03f/attachment.pgp>

Reply via email to