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

Nick Dimiduk commented on HBASE-9091:
-------------------------------------

bq. But we should change API now before we release, right?

Probably yes.

bq. The Long can be reused?

I'm afraid {{Long}} instances are immutable. We would need a {{Long#set(long)}} 
method.

{noformat}
int decodeSomething(Long offset) {
  offset = Long.valueOf(offset.longValue() + 4);
  return 0;
}

Long offset = Long.valueOf(10);
println("offset going in: " + offset);
decodeSomething(offset);
println("offset received: " + offset);

===

offset going in: 10
offset received: 10
{noformat}
                
> Update ByteRange to maintain consumer's position
> ------------------------------------------------
>
>                 Key: HBASE-9091
>                 URL: https://issues.apache.org/jira/browse/HBASE-9091
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>         Attachments: 0001-HBASE-9091-Extend-ByteRange.patch, 
> 0001-HBASE-9091-Extend-ByteRange.patch
>
>
> ByteRange is a useful alternative to Java's ByteBuffer. Notably, it is 
> mutable and an instance can be assigned over a byte[] after instantiation. 
> This is valuable as a performance consideration when working with byte[] 
> slices in a tight loop. Its current design is such that it is not possible to 
> consume a portion of the range while performing activities like decoding an 
> object without altering the definition of the range. It should provide a 
> position that is independent from the range's offset and length to make 
> partial reads easier.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to