norgopolis-client

Crates.ionorgopolis-client
lib.rsnorgopolis-client
version0.6.0
sourcesrc
created_at2023-07-08 17:37:38.772961
updated_at2024-02-21 11:54:25.035644
descriptionA Rust client for Norgopolis.
homepage
repositoryhttps://github.com/nvim-neorg/norgopolis-client
max_upload_size
id911585
size15,588
(vhyrro)

documentation

README

Norgopolis Client

For information about Norgopolis, consult https://github.com/nvim-neorg/norgopolis.

This crate provides functionality to easily connect to a norgopolis instance and interact with its modules.

This Rust crate provides a simple and lightweight layer for communicating with norgopolis. To establish a connection, use the connect function. By default Norgopolis runs on port 62020:

use norgopolis_client;

#[tokio::main]
async fn main() {
    let connection = norgopolis_client::connect(&"localhost".into(), &"62020".into())
        .await
        .expect("Unable to connect to server!");

    // Invokes a specific module's function without any parameters.
    // The closure will be executed for every return value provided. Return values are streamed back
    // over time, hence the `await`.
    connection.invoke("module-name", "function-name", None, |response: YourExpectedResponse| println!("{:#?}", response))
        .await
        .unwrap();
}

If the autostart-server feature flag is enabled, this client will look for a binary called norgopolis-server on the host system and will auto-execute it if a connection could not be initially established.

The server will be forked into a separate system process and will automatically shut down after 5 minutes of inactivity.

Commit count: 18

cargo fmt