Membuffer should provide a way to get back the buffer -----------------------------------------------------
Key: THRIFT-1213 URL: https://issues.apache.org/jira/browse/THRIFT-1213 Project: Thrift Issue Type: Improvement Reporter: Anthony Molinaro Assignee: Anthony Molinaro I wanted to get the binary representation of a serialized thrift object and had to do something like {{monospaced}} thrift_something_to_binary (SomeThing) -> {ok, TF} = thrift_memory_buffer:new_transport_factory(), {ok, PF} = thrift_binary_protocol:new_protocol_factory(TF,[]), {ok, P0} = PF(), {{ protocol, thrift_binary_protocol,{ binary_protocol,{transport, thrift_memory_buffer, {memory_buffer,B} },true,true}},ok} = thrift_protocol:write (P0,{{list, some_types:struct_info('some')}, SomeThing }), iolist_to_binary(B). {{monospaced}} With the attached patch instead the flush call of the transport will return the buffer so the large brittle pattern match above can be accomplished instead with {{monospaced}} thrift_something_to_binary (SomeThing) -> {ok, TF} = thrift_memory_buffer:new_transport_factory(), {ok, PF} = thrift_binary_protocol:new_protocol_factory(TF,[]), {ok, P0} = PF(), {P1, ok} = thrift_protocol:write (P0,{{list, some_types:struct_info('some')}, SomeThing }), {_P2, B} = thrift_protocol:flush_transport (P1), iolist_to_binary(B). {{monospaced}} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira