kotoba-network

Crates.iokotoba-network
lib.rskotoba-network
version0.1.16
created_at2025-09-17 14:59:43.219778+00
updated_at2025-09-17 14:59:43.219778+00
descriptionNetwork protocol implementation for Kotoba distributed system
homepagehttps://github.com/jun784/kotoba
repositoryhttps://github.com/jun784/kotoba
max_upload_size
id1843453
size90,129
Jun Kawasaki (jun784)

documentation

https://docs.rs/kotoba-network

README

Kotoba Network

ネットワーク通信プロトコル実装 for Kotoba distributed system.

概要

Kotoba Network は、Kotoba の分散システムにおけるノード間通信を担当するクレートです。TCP/IP ベースの通信プロトコルを実装し、分散タスクの実行、キャッシュ同期、クラスタ管理などの機能をサポートします。

主な機能

  • ネットワークプロトコル: 構造化されたメッセージ交換
  • 接続管理: TCP 接続の確立と管理
  • メッセージハンドリング: 非同期メッセージ処理
  • クラスタ通信: ノード間でのタスク分散と結果収集
  • キャッシュ同期: 分散キャッシュの一貫性維持

主な構造体

  • NetworkMessage: ネットワークメッセージの列挙型
  • NetworkManager: ネットワーク通信の管理
  • NetworkServer: TCP サーバーの実装
  • MessageHandler: メッセージ処理ハンドラー
  • TcpConnectionManager: TCP 接続管理

使用例

use kotoba_network::{ServerBuilder, NodeId};
use kotoba_distributed::DistributedEngine;

// 分散実行エンジンを作成
let node_id = NodeId("node_1".to_string());
let engine = std::sync::Arc::new(DistributedEngine::new(node_id.clone()));

// ネットワークサーバーを作成
let server = ServerBuilder::new()
    .listen_addr("127.0.0.1:8080".to_string())
    .node_id(node_id)
    .distributed_engine(engine)
    .build()
    .await?;

// サーバーを起動
server.run().await?;

メッセージタイプ

  • TaskRequest: 分散タスクの実行リクエスト
  • TaskResponse: タスク実行結果のレスポンス
  • Heartbeat: ノードの生存確認
  • JoinRequest: クラスタ参加リクエスト
  • CacheSync: キャッシュ同期メッセージ
  • GraphTransfer: グラフデータの転送

依存関係

  • kotoba-core: 基本型定義
  • kotoba-distributed: 分散実行エンジン
  • tokio: 非同期ランタイム
  • serde: シリアライズ/デシリアライズ
Commit count: 535

cargo fmt