[ 
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)

Reply via email to