[ 
https://issues.apache.org/jira/browse/COMPRESS-207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15213545#comment-15213545
 ] 

Thomas Meyer commented on COMPRESS-207:
---------------------------------------

> I'm not convinced the extra initBlock call is correct, could you explain why 
> you think it is needed?

I think I did move the call from the constructor to START_BLOCK_STATE, so you 
could position to the first bzip2 block in the underlying input stream and call 
resetBlock() the state machine would then consume the block headers and so on. 
I think this was the idea of the move here

> Your use case for resetBlock makes me think you won't like the events I 
> suggest as they don't give you the exact position on the underlying stream at 
> all. Of course this could be added. I've reused what we return in 
> getBytesRead, which counts the uncompressed bytes. 

yes, I just checked the new branch in git, and yes the change is nice, but not 
my use case :-)

Regarding "they don't give you the exact position on the underlying stream at 
all". I think this counting can actually be done in the underlying input 
stream, at least that is what I did. See this "bridge from a RandomAccessFile 
to an InputStream, which can be used as an undlerying InputStream for the 
BZip2CompressorInputStream!


> add notifier support for new block in BZip2CompressorInputStream
> ----------------------------------------------------------------
>
>                 Key: COMPRESS-207
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-207
>             Project: Commons Compress
>          Issue Type: New Feature
>          Components: Compressors
>    Affects Versions: 1.4.1
>            Reporter: Thomas Meyer
>            Priority: Minor
>              Labels: API, bzip
>         Attachments: 
> 0001-Add-notifier-support-for-new-block-in-BZip2Compresso.patch, 
> BZip2CompressorInputStream-add-newBlock-notifier.patch, 
> BZip2CompressorInputStream-add-newBlock-notifier.patch, 
> BZip2CompressorInputStream-add-newBlock-notifier.patch
>
>
> hi,
> attached patch enables an program to add a listener when a new bzip2
> block is detected.
> The notifier is called with:
>  - xxx.newBlock(this, currBlockPosition)
> - this = the current BZip2CompressorInputStream object
> - currBlockPosition = The offset (i.e. start position) in the compressed
> input stream of the current block



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to