lazy data type
- Dominant language
- Rust
- Stars
- 24.8k
- Forks
- 1.9k
- Avg merge
- 23h 10m
- Merged PRs (30d)
- 26
Description
## Motivation
The ~now deprecated~ `App::data_factory` method ~was is not very useful because it ran the~ runs futures to completion before starting the server up. For semi-expensive constructions it can be beneficial to delay their creation until a request needs it for the first time.
For example: especially in development when using debug builds, operations such as key derivation are very slow and are often only needed for a small set of endpoints. If you can afford a single slow op (per-worker) at app startup then such a type is useful. Otherwise, constructing the type before server creation is necessary.
## Solution
A way to lazily initalize data maybe built in Tokio's new OnceCell type: `LazyData`.
Contributor guide
Assessment
This issue has not been assessed yet.