[
https://issues.apache.org/jira/browse/THRIFT-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17501862#comment-17501862
]
Allen George commented on THRIFT-5283:
--------------------------------------
[~tokcum] Tobias - thank you so much for looking at this issue. Unfortunately
my time is quite limited nowadays, so I'll try and review your PR as
quickly/best I can. That said, I think that to include this feature you should:
# Add some unit tests if possible
# Update the rust <-> rust test harnesses so that you can ensure that the basic
implementation works
(https://github.com/apache/thrift/tree/master/lib/rs/test); NOTE:
unfortunately, actually running the test harness is manual
# Update the cross-test harnesses so that you can ensure that other languages
which support unix sockets can communicate with the rust server/client
(https://github.com/apache/thrift/tree/master/test/rs
https://github.com/apache/thrift/blob/b8920b01cb72af93a716bb203fcd8a1202936b97/test/tests.json#L681)
This would ensure that this change can be properly tested and maintained going
forward.
> 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: 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.1#820001)