nfs3_client 0.2.0

Provides an implementation of NFS3 client
Documentation

nfs3_client

nfs3_client is a Rust crate that provides an asynchronous client implementation for interacting with NFSv3 servers. It includes functionality for connecting to NFS servers, performing various NFS operations, and handling the underlying RPC communication.

Examples

use nfs3_client::tokio::TokioConnector;
use nfs3_client::Nfs3ConnectionBuilder;
use nfs3_types::nfs3;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let ip = "127.0.0.1".to_string();
    let mount_path = "/".to_string();

    let mut connection = Nfs3ConnectionBuilder::new(TokioConnector, ip, mount_path)
        .mount()
        .await?;

    let root = connection.root_nfs_fh3();

    println!("Calling readdir");
    let readdir = connection
        .readdir(nfs3::READDIR3args {
            dir: root,
            cookie: 0,
            cookieverf: nfs3::cookieverf3::default(),
            count: 128 * 1024 * 1024,
        })
        .await?;

    println!("{readdir:?}");

    connection.unmount().await?;

    Ok(())
}