[ https://issues.apache.org/jira/browse/THRIFT-883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12982799#action_12982799 ]
Sean Bridges commented on THRIFT-883: ------------------------------------- What will thrift policy with mutating the position and mark fields on a ByteBuffer be when non array backed ByteBuffers are supported. For example, is this code that retries a thrift operation multiple times correct, ByteBuffer buf = ...; SomeThriftObject t = ...; t.setBinaryField(buf); for(int i =1; i < 5; i++) { //will this modify postion() on buf? //will it call rewind() on buf before reading? someThriftClient.doSomething(t); break; } I don't see a good api to bulk copy from a ByteBuffer that is not backed by an array unless you change the position variable. Perhaps Thrift always calls rewind() on the ByteBuffer before reading from it. > Extend ByteBuffer support to non-array-backed ByteBuffers > --------------------------------------------------------- > > Key: THRIFT-883 > URL: https://issues.apache.org/jira/browse/THRIFT-883 > Project: Thrift > Issue Type: Improvement > Components: Java - Library > Affects Versions: 0.4 > Reporter: Bryan Duxbury > Assignee: Bryan Duxbury > Fix For: 0.7 > > Attachments: TBinaryProtocol-writeBinary.patch > > > Binary fields are backed by ByteBuffers that wrap byte arrays, and all the > protocol code assumes that every ByteBuffer is of this type. However, now > that the structs setters allow ByteBuffer arguments, it would be nice to > support other kinds of ByteBuffers, like those that are allocated direct. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.