GitXplorerGitXplorer
x

tonic-repro-1375

public
0 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
37d947cb6520658e62a4365e70d246ee5e095282

Wrap the tokio receiver stream to track wakeups

xxd009642 committed 2 years ago
Unverified
eb28cbe4e93bce29aa41cfc44501d037fc618fc1

Add flume

xxd009642 committed 2 years ago
Unverified
c9d022ea08a2a6c0959ca2c2f4bf14ee51725f6b

Update with unbounded sender/receiver

xxd009642 committed 2 years ago
Unverified
516cf806aa2a7bbd3bfb1e0378c7e805025799c0

Update readme

xxd009642 committed 2 years ago
Unverified
51b455d44e7be3966722ae8ad1f42885dd94b46d

Add async-channel bounded. Make names clearer

xxd009642 committed 2 years ago
Unverified
916d08e1c60e52c7801559b9f6e8d42eb28ed9cb

Add a readme

xxd009642 committed 2 years ago

README

The README file for this repository.

Tonic Repo 1375

Reproduction of issue #1375 in tonic.

Here I have made 3 APIs that return a stream.

  1. futures::mpsc to return the stream (the solution in the issue)
  2. async_stream to return the stream my attempt at an alternative to tokio's mpsc that didn't work
  3. tokio's mpsc channel
  4. async-channels mpmc bounded channel

You can either run the server and the client separately or run them both at once. There are 3 binaries server, client, both which do these respectively.

Running as both lets you match up the timestamps more easily but if going into the hyper logs the extra noise from both server and client in the same process may be a pain to debug hence the 3 options.

The batching issue can be observed with all channels apart from futures::mpsc with a capacity of 0.