You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2010/07/27 00:22:17 UTC

[jira] Updated: (THRIFT-830) Switch binary field implementation from byte[] to ByteBuffer

     [ https://issues.apache.org/jira/browse/THRIFT-830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-830:
---------------------------------

    Attachment: thrift-830.patch

Here's my first go at this change. All the tests pass. 

> Switch binary field implementation from byte[] to ByteBuffer
> ------------------------------------------------------------
>
>                 Key: THRIFT-830
>                 URL: https://issues.apache.org/jira/browse/THRIFT-830
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (Java), Library (Java)
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>             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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.