Crates.io | tokio-agent |
lib.rs | tokio-agent |
version | 0.1.0 |
source | src |
created_at | 2022-05-19 10:06:06.815428 |
updated_at | 2022-05-19 10:06:06.815428 |
description | Agents are a simple abstraction around state, inspired by Elixir's Agent. |
homepage | https://github.com/jhgg/tokio-agent |
repository | https://github.com/jhgg/tokio-agent |
max_upload_size | |
id | 589627 |
size | 26,289 |
"Agents are a simple abstraction around state."
This crate is inspired by Elixir's Agent.
In Rust however, an Agent holds your State in either a tokio task, or a thread, and allows you to interact with that state, while having the state remain within the task or thread.
An agent managing state in a thread for examplue could be used to manage and interact with a resource which would cause blocking on the tokio runtime (for example, sqlite database).
An agent managing state in a task could be used to manage and interact with a resource in a lock-free way.