All ByteBuffers the client uses should be slice()ed ---------------------------------------------------
Key: THRIFT-1058 URL: https://issues.apache.org/jira/browse/THRIFT-1058 Project: Thrift Issue Type: Bug Affects Versions: 0.6 Reporter: ryan rawson Right now the code does something like yay so: return ByteBuffer.wrap(array, pos, len); The only problem is that .wrap(byte[],int,int) returns a ByteBuffer with position equal to pos and limit set to pos+len. Which means users cant used 'rewind' or position(0). It would be cleaner if the contract was "ByteBuffers will have position=0, limit=how much data you have". The way to accomplish this would be to: return ByteBuffer.wrap(array, pos, len).slice(); In exchange for 1 extra object alloc (which the GC can clean up quick) we get the benefit of a easier to use BB interface. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira