actix / actix/actix-web

lazy data type

Open
#2,285 0 comments 0 reactions 0 assignees View on GitHub
A-web C-feature
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

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.