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

Tobias Mucke edited comment on THRIFT-5283 at 3/22/22, 4:44 PM:
----------------------------------------------------------------

Looking ahead, I checked how osquery connects to its extensions on Windows: it 
uses Named Pipe. I'll look into this as I'm planning to support also Windows 
with osquery-rust. I think the thrift crate doesn't support Named Pipes yet.

I went through the issues in this project related to named pipes and found some 
issues which should be considered when implementing this in rust:

https://issues.apache.org/jira/browse/THRIFT-5388

https://issues.apache.org/jira/browse/THRIFT-4183

https://issues.apache.org/jira/browse/THRIFT-1558

https://issues.apache.org/jira/browse/THRIFT-5078


was (Author: JIRAUSER286048):
Looking ahead, I checked how osquery connects to its extensions on Windows: it 
uses Named Pipe. I'll look into this as I'm planning to support also Windows 
with osquery-rust. I think the thrift crate doesn't support Named Pipes yet.

> 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: 1h 50m
>  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.1#820001)

Reply via email to