lunatic-cached-process

Crates.iolunatic-cached-process
lib.rslunatic-cached-process
version0.2.3
sourcesrc
created_at2023-02-23 10:06:04.377609
updated_at2023-04-17 05:16:04.646618
descriptionCached process lookups with lunatic.
homepage
repositoryhttps://github.com/tqwewe/lunatic-cached-process
max_upload_size
id792533
size29,632
Ari Seyhun (tqwewe)

documentation

README

Cached process lookups with lunatic.

When a process is lookup, it is cached in the local process to avoid unnecessery future lookups. This is useful for globally registered processes and abstract processes.

Example

use lunatic::{spawn_link, Process};
use lunatic_cached_process::{cached_process, CachedLookup};

cached_process! {
    static COUNTER_PROCESS: Process<()> = "counter-process";
}

fn main() {
    let process = spawn_link!(|_mailbox: Mailbox<()>| { loop {} });
    process.register("counter-process");

    let lookup: Option<Process<()>> = COUNTER_PROCESS.get(); // First call lookup process from host
    assert!(lookup.is_some());

    let lookup: Option<Process<()>> = COUNTER_PROCESS.get(); // Subsequent calls will use cached process
    assert!(lookup.is_some());
}

For more examples, see the examples directory.

License

Licensed under either

at your option.

Commit count: 14

cargo fmt