bellande_mesh_sync/README.md
2024-10-25 00:10:40 -04:00

2.1 KiB

Bellande Mesh Sync

  • a comprehensive data synchronization system

Features

Full Protocol Support:

  • TCP/UDP handling
  • HTTP/HTTPS servers
  • TLS encryption
  • Binary message protocol

Node Management:

  • Node discovery
  • Dead node cleanup
  • Peer synchronization
  • Data chunk handling

Message Handling:

  • Asynchronous message processing
  • Multiple message types
  • Error handling
  • Rate limiting

Monitoring:

  • Network statistics
  • Status reporting
  • Error logging
  • Performance metrics

Security:

  • TLS encryption
  • Token validation
  • Node authentication

Usage

use bellande_mesh_sync::{init, init_with_options, start, stop, MeshOptions, Config};

async fn example() -> Result<(), BellandeMeshError> {
    // Basic initialization
    let config = Config {
        listen_address: "127.0.0.1:8000".to_string(),
        node_timeout: 300,
    };
    let mesh = init(config.clone()).await?;
    start(&mesh).await?;

    // Or with custom options
    let options = MeshOptions {
        dev_mode: true,
        metrics_interval: Some(30),
        enable_persistence: true,
        ..Default::default()
    };
    let mesh = init_with_options(config, options).await?;
    start(&mesh).await?;

    // Use other functionalities
    broadcast(&mesh, b"Hello network!".to_vec()).await?;
    let stats = get_stats(&mesh).await?;
    let nodes = get_nodes(&mesh).await?;

    stop(&mesh).await?;
    Ok(())
}

Website Crates

Installation

  • cargo add bellande_mesh_sync
Name: bellande_mesh_sync
Summary: Bellande Operating System Comprehensive data synchronization system
Home-page: github.com/Architecture-Mechanism/bellande_mesh_sync
Author: Ronaldson Bellande
Author-email: ronaldsonbellande@gmail.com
License: GNU General Public License v3.0

License

Bellande Mesh Sync is distributed under the GNU General Public License v3.0, see LICENSE and NOTICE for more information.