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

Alik Elzin commented on THRIFT-830:
-----------------------------------

Forgot a 5th point:
5. Statefull vs stateless - A state (offset) is passed using a ByteBuffer - not 
the data itself. Sounds like hidden business logic. Obligated to see it even 
though I don't use it.

> Switch binary field implementation from byte[] to ByteBuffer
> ------------------------------------------------------------
>
>                 Key: THRIFT-830
>                 URL: https://issues.apache.org/jira/browse/THRIFT-830
>             Project: Thrift
>          Issue Type: Sub-task
>          Components: Java - Compiler, Java - Library
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Blocker
>             Fix For: 0.4
>
>         Attachments: thrift-830.patch
>
>
> Instead of using byte[] as the implementation for binary fields, let's use 
> ByteBuffer. 
> There's nothing that you can do with byte[] that you can't also do with 
> ByteBuffer, and there are more things you can do with ByteBuffer. It opens 
> the way for us to avoid needless buffer copies on serialization and 
> deserialization. It gives us a generally accepted equals() and compareTo() 
> implementation, so we don't have to have custom cases for that anymore. 
> Making this change will probably cause more than a little bit of trauma, 
> changing the method signatures in both TProtocol and generated code. It's 
> _possible_ that I could be persuaded to support a command line switch for 
> producing old-style byte[] methods in some contexts, but I'd love not to 
> waste time supporting suboptimal features.



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

Reply via email to