[ https://issues.apache.org/jira/browse/THRIFT-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17233411#comment-17233411 ]
Prateek Kumar Nischal commented on THRIFT-5283: ----------------------------------------------- Hi [~ulidtko], So, while calling {{Tserver.listen}}, I observed that it internally calls, {code} TcpListener::bind<T: std::net::ToSocketAddrs>(addr: T); {code} So, If we could have a {{std::net::ToSocketAddrs}} trait implemented for something, it would work. But the problem is, the trait needs the following definition {code} fn to_socket_addrs(&self) -> Result<Iterator<Item = std::net::SocketAddr>> {code} and the {{std::net::SocketAddr}} enum only has 2 types, {{SocketAddrV4}} and {{SocketAddrV6}}. I am not sure if we can represent a Unix socket into those types since it's looking for octets. > 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 > Affects Versions: 0.13.0 > Reporter: Prateek Kumar Nischal > Priority: Minor > > 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.3.4#803005)