google / google/tarpc

Transfer data using tarpc

Open
#299 4 comments 0 reactions 0 assignees View on GitHub
feature
Dominant language
Rust
Stars
3.7k
Forks
230
PR merge metrics
No merged PRs in 30d

Description

tarpc provides a nice interface to program so I want to use tarpc to transfer data among different machines in a distributed cluster. Apart from the 'normal' use case of rpc which given as the following

```rust
type GetFut = Ready>;
fn get(self, _: context::Context) -> Self:: GetFut {
// something here
}
```

I would like to also have the following method:

```rust
type PutFut = Ready<()>;
fn put(self, _: context::Context, data: Vec) -> Self:: PutFut {
// something here
}
```

In this way, I suppose I can both get and send data to the server. The vector in my use case can be very large. My question are:
1) Will the upload and download stream cause congestion in the same channel because the data size can be very large in both direction
2) How would this `put` method compare to, say, using a handwritten TcpStream or something like MPI?

I used tarpc before but I don't really understand how it work under the hood. Can anyone kindly help me? Thanks so much!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.