Crate batata_client

Crate batata_client 

Source
Expand description

Batata Client - Rust client for Batata/Nacos service discovery and configuration management

§Overview

Batata Client provides a Rust SDK for interacting with Batata/Nacos servers, supporting:

  • Configuration management (get, publish, remove, listen)
  • Service discovery (register, deregister, query, subscribe)

§Quick Start

use batata_client::{BatataClient, ClientConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create client
    let client = BatataClient::builder()
        .server_addr("localhost:8848")
        .namespace("public")
        .build()
        .await?;

    // Get configuration
    let config_service = client.config_service();
    let content = config_service.get_config("my-config", "DEFAULT_GROUP").await?;
    println!("Config: {}", content);

    // Register service
    let naming_service = client.naming_service();
    naming_service.register_instance_simple("my-service", "127.0.0.1", 8080).await?;

    // Shutdown
    client.shutdown().await;

    Ok(())
}

Re-exports§

pub use api::config::ConfigBatchListenRequest;
pub use api::config::ConfigChangeBatchListenResponse;
pub use api::config::ConfigChangeNotifyRequest;
pub use api::config::ConfigInfo;
pub use api::config::ConfigListenContext;
pub use api::config::ConfigPublishRequest;
pub use api::config::ConfigPublishResponse;
pub use api::config::ConfigQueryRequest;
pub use api::config::ConfigQueryResponse;
pub use api::config::ConfigRemoveRequest;
pub use api::config::ConfigRemoveResponse;
pub use api::config::ConfigSearchRequest;
pub use api::config::ConfigSearchResponse;
pub use api::config::ConfigSearchItem;
pub use api::naming::BatchInstanceRequest;
pub use api::naming::BatchInstanceResponse;
pub use api::naming::Instance;
pub use api::naming::InstanceRequest;
pub use api::naming::InstanceResponse;
pub use api::naming::QueryServiceResponse;
pub use api::naming::Service;
pub use api::naming::ServiceListRequest;
pub use api::naming::ServiceListResponse;
pub use api::naming::ServiceQueryRequest;
pub use api::naming::SubscribeServiceRequest;
pub use api::naming::SubscribeServiceResponse;
pub use api::remote::RequestTrait;
pub use api::remote::ResponseTrait;
pub use auth::AccessToken;
pub use auth::AuthManager;
pub use auth::Credentials;
pub use cache::FileCache;
pub use config::ConfigChangeEvent;
pub use config::ConfigChangeType;
pub use config::ConfigListener;
pub use config::ConfigService;
pub use error::BatataError;
pub use error::Result;
pub use naming::NamingService;
pub use naming::ServiceChangeEvent;
pub use naming::ServiceListener;
pub use remote::RpcClient;
pub use common::constants::*;

Modules§

api
auth
cache
common
config
error
naming
prelude
remote

Structs§

BatataClient
Main Batata client
BatataClientBuilder
Builder for BatataClient
ClientConfig
Client configuration
TlsConfig
TLS configuration