7 releases (4 breaking)
0.5.0 | Dec 27, 2021 |
---|---|
0.4.1 | Jun 12, 2021 |
0.4.0 | Mar 6, 2021 |
0.3.0 | Nov 6, 2020 |
0.1.0 | Dec 2, 2018 |
#722 in WebAssembly
Used in 3 crates
85KB
2.5K
SLoC
Gate interface
Asynchronous execution
The task
module provides a framework for spawning and running
asynchronous tasks.
A typical program runs a single top-level task:
use gain::task::{block_on, spawn};
fn main() {
block_on(async {
spawn(concurrent_work());
do_something().await;
})
}
async fn concurrent_work() {
do_stuff().await;
}
Concurrency is achieved by spawning more tasks. The program exits when the top-level task returns.
Service APIs
The catalog
, identity
, origin
,
peer
and peerindex
modules provide access to the
built-in Gate services.
Common I/O stream types are defined in the stream
module.
Service implementation
Additional service bindings can be implemented using the
service
module.
Dependencies
~170–405KB