liftedinit / liftedinit/many-rs

Enhance async behavior

Open
#259 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
6
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Continuation of a Slack thread from Sept 19h 2022.

I ran the new async stuff in tokio-console and made some discoveries.

1. This block is run a lot, and I'm not sure why since we're supposed to be on a tokio thead already
```
let runtime = tokio::runtime::Runtime::new().unwrap();
runtime.block_on(future)
```
2. `hyper` is spawning/stopping a shitload of tasks (might be expected)

I pushed those branches if you want to test tokio-console.

many-rs: fmorency/tokio-console-wip
many-framework: fmorency/tokio-console-wip

I moved the creation of the runtime into an `once_cell`. I still think we need to dig a little more.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the async-related branches fmorency/tokio-console-wip for many-rs and many-framework, then inspect the runtime creation and block_on usage shown in the issue. Use tokio-console to investigate repeated runtime blocking and hyper task churn; done requires an agreed explanation and a defined async behavior change.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, networking
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.