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

tokcum commented on THRIFT-5542:
--------------------------------

Hey, I'm back and hopefully with enough Rust knowledge this time to implement 
this.

 

Reviewing the approach thrift took to support different types of transports, e. 
g. TCP sockets, Unix Domain Sockets and others, I think any new transport 
requires among other implementation details an implementation of TIoChannel 
which "Identifies a splittable bidirectional I/O channel used to send and 
receive bytes." (quote from src/transport/mod.rs).

 

Keeping this in mind, I reviewed the available libraries supporting Windows 
Named Pipes. I found two candidates:
 # tokio
 # miow

 

Regarding tokio, I think it is not a good fit for thrift because it is async 
and thrift is not.

Referring to mio, the offered types neither support to split them in a read and 
write half, nor do they implement Clone which would allow me to implement the 
split myself as I did with UnixStream. Miow also states in its README that it 
is actually unmaintained.


I took the first steps to implement my own lib to support Windows Named Pipes 
in a way which would allow me to nicely integrate it with thrift. I'm not sure 
if the thrift project would accept this as a dependency for thrift.

 

So, where to go from here? Are there other options I could look into? Any 
advice appreciated. Thank you.

[~jensg] and [~allengeorge], it would be great if you could provide some 
feedback.

> Ability to listen on Windows named pipe in thrift Rust crate
> ------------------------------------------------------------
>
>                 Key: THRIFT-5542
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5542
>             Project: Thrift
>          Issue Type: New Feature
>          Components: Rust - Library
>    Affects Versions: 0.16.0
>            Reporter: tokcum
>            Priority: Major
>
> The rust crate for thrift does not yet support to communicate via a Windows 
> named pipe. Other bindings, such as for C++, already support Windows named 
> pipes.



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

Reply via email to