You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Stefan Guggisberg (JIRA)" <ji...@apache.org> on 2014/02/11 11:25:19 UTC
[jira] [Resolved] (OAK-1331) MicroKernel API: clarify semantics of
`read` method
[ https://issues.apache.org/jira/browse/OAK-1331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Guggisberg resolved OAK-1331.
------------------------------------
Resolution: Fixed
Assignee: Stefan Guggisberg
fixed in svn r1567030
> MicroKernel API: clarify semantics of `read` method
> ---------------------------------------------------
>
> Key: OAK-1331
> URL: https://issues.apache.org/jira/browse/OAK-1331
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: mk, mongomk, segmentmk
> Reporter: Stefan Guggisberg
> Assignee: Stefan Guggisberg
> Labels: documentation
> Fix For: 0.17
>
>
> the javadoc of {{MicroKernel#read}} currently states that
> {quote}
> An attempt is made to read as many as {{length}} bytes, but a smaller number may be read.
> {quote}
> under what conditions a smaller amount might be read is not specified.
> with the current specification an api consumer would either have to know the length of the blob in advance (i.e. by calling {{MicroKernel#getLength}}) or would need to call the {{MicroKernel#read}} method twice to make sure that the blob content is fully read.
> i suggest to clarify the contract as follows:
> Reads up to {{length}} bytes of data from the specified blob into the given array of bytes where the actual number of bytes read is {{min(length, max(0, blobLength - pos))}}.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)