You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "tokcum (Jira)" <ji...@apache.org> on 2022/07/07 23:08:00 UTC

[jira] [Commented] (THRIFT-5283) Ability to listen over unix socket in thrift Rust crate

    [ https://issues.apache.org/jira/browse/THRIFT-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17564022#comment-17564022 ] 

tokcum commented on THRIFT-5283:
--------------------------------

[~allengeorge] I was excited that thrift 0.16.0 was published recently, so I could continue with my osquery-rust bindings. However, apparently support for Unix Domain Sockets didn't make it into 0.16.0 despite being accepted as PR and merged into master. Big disappointment on my side after months of waiting to get this published to crates.io. :(

> Ability to listen over unix socket in thrift Rust crate
> -------------------------------------------------------
>
>                 Key: THRIFT-5283
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5283
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Rust - Library
>    Affects Versions: 0.13.0
>            Reporter: Prateek Kumar Nischal
>            Priority: Major
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> The rust crate for [thrift|https://crates.io/crates/thrift] right now has the ability to create a server [but only over a TCP socket|https://github.com/apache/thrift/blob/master/lib/rs/src/server/threaded.rs#L172].
> {code}
> pub fn listen<A: ToSocketAddrs>(&mut self, listen_address: A) -> thrift::Result<()> 
> {code}
> The API requires the trait [ToSocketAddrs|https://doc.rust-lang.org/std/net/trait.ToSocketAddrs.html] to be implemented which is not possible for a Unix Domain Socket. 
> Other libraries, for example, python has an option to serve over unix sockets. eg
> {code:python}
> TSocket.TServerSocket(unix_socket='/tmp/service.sock')
> {code}
> It would be really nice to be able to get a similar API in rust as well unless there is a way to do it already. Please let me know if it already exists.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)