You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mamta A. Satoor (JIRA)" <ji...@apache.org> on 2008/08/15 07:00:44 UTC
[jira] Commented: (DERBY-3770) Create a utility class for skipping
data in an InputStream
[ https://issues.apache.org/jira/browse/DERBY-3770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622807#action_12622807 ]
Mamta A. Satoor commented on DERBY-3770:
----------------------------------------
Junjie, I will look at the patch soon but if you get a chance, can you put a brief description of the logic of the patch in this jira entry?
> Create a utility class for skipping data in an InputStream
> ----------------------------------------------------------
>
> Key: DERBY-3770
> URL: https://issues.apache.org/jira/browse/DERBY-3770
> Project: Derby
> Issue Type: Improvement
> Components: Miscellaneous
> Affects Versions: 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Junjie Peng
> Priority: Minor
> Attachments: derby-3770-1.patch, derby-3770-1.stat
>
>
> The contract of InputStream.skip is somewhat difficult, some would even say broken.
> See http://java.sun.com/javase/6/docs/api/java/io/InputStream.html#skip(long))
> A utility class should be created to ensure that we use the same skip procedure throughout the Derby code base.
> Suggested functionality:
> - long skipFully(InputStream) : skips until EOF, returns number of bytes skipped
> - void skipFully(InputStream,long) : skips requested number of bytes, throws EOFException if there is too few bytes in the stream
> I know of two different approaches, both skipping in a loop:
> a) Verify EOF with a read call when skip returns zero.
> b) Throw EOFException if skip returns zero before requested number of bytes have been skipped.
> There's related code in iapi.util.UTF8Util. Maybe this class, say StreamUtil, could be put in the same package?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.