You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Chao Sun (JIRA)" <ji...@apache.org> on 2017/03/12 06:25:04 UTC

[jira] [Updated] (THRIFT-4113) Provide a buffer transport for reading/writing in memory byte stream

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

Chao Sun updated THRIFT-4113:
-----------------------------
    Summary: Provide a buffer transport for reading/writing in memory byte stream  (was: Provide a buffered transport for reading/writing in memory byte stream)

> Provide a buffer transport for reading/writing in memory byte stream
> --------------------------------------------------------------------
>
>                 Key: THRIFT-4113
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4113
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Rust - Library
>    Affects Versions: 0.9.3
>            Reporter: Chao Sun
>
> Currently the Rust support doesn't seem to have the ability to take a input byte stream and deserialize it with a particular protocol. The same for the write path. [TBufferTransport | https://github.com/apache/thrift/blob/master/lib/rs/src/transport/mem.rs#L42] seems to be the closest one but it is not exposed. Also, it copies the data to a intermediate buffer, which could be costly when deserializing large byte streams.
> We should implement something similar to CPP's [TMemoryBuffer | https://github.com/apache/thrift/blob/master/lib/rs/src/transport/mem.rs#L42] which provides 3 flavors of how the input buffer can be treated. IMO We can start by modifying TBufferTransport and make it public.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)