Commit Graph

2 Commits

Author SHA1 Message Date
3876b83e26 🚀 feat: NewP2PBox天才アルゴリズム完全実装 - P2P通信革命達成
## 🧠 天才アルゴリズム実装
- ローカル配送: MessageBus経由(爆速)
- リモート配送: Transport経由(柔軟)
- 完全自動判別・透明処理

## 📡 実装完了機能
1. NewP2PBox本体(天才アルゴリズム内蔵)
2. MessageBusシングルトン(高速ローカル配送)
3. Transport trait抽象化(InProcess/WebSocket/WebRTC)
4. MethodBox統合(Nyash側コールバック)
5. インタープリター完全統合

##  動作確認済み
- Rustクロージャ版: 全機能完璧動作
- MethodBox統合: コールバック正常動作
- インタープリター統合: Nyashから直接利用可能

## 🎯 利用可能Nyash構文
```nyash
alice = new NewP2PBox("alice", "InProcess")
msg = new MessageIntentBox("greeting")
msg.set("text", "Hello\!")
alice.send("bob", msg)
bob.onMethod("greeting", handler)
```

🎉 NyaMeshP2Pライブラリの基盤完成!次はP2PBoxデリゲート実装へ

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 17:51:16 +09:00
21eceed324 🚀 feat: P2PBox/IntentBox実装 - NyaMesh通信基盤の第一歩
## 🎯 概要
NyaMeshプロジェクトの基盤となるP2PBox/IntentBoxを実装。
シンプルなsend/onインターフェースで通信ノード間のメッセージングを実現。

##  新機能
- **IntentBox**: 通信世界を定義するコンテナ
  - Transportトレイトで通信方式を抽象化
  - LocalTransport実装(プロセス内通信)
  - 将来のWebSocket/SharedMemory拡張に対応

- **P2PBox**: 通信ノードの実装
  - send(intent, data, target) - 特定ノードへ送信
  - broadcast(intent, data) - 全ノードへ配信
  - on(intent, callback) - リスナー登録
  - off(intent) - リスナー解除
  - 同一intentに複数リスナー登録可能

## 🔧 技術詳細
- Arc<Mutex>パターンで完全なスレッドセーフティ
- Arc<P2PBoxInner>構造でBox型システムとの整合性確保
- インタープリター完全統合(new/メソッド呼び出し)

## 🧪 テスト
- test_p2p_basic.nyash - 基本機能検証
- test_p2p_message_types.nyash - 各種データ型対応
- test_p2p_edge_cases.nyash - エラー処理
- test_p2p_callback_demo.nyash - 実用例

## 📝 TODO (将来拡張)
- WebSocket/SharedMemoryトランスポート
- コールバック実行(MethodBox統合待ち)
- ノード登録管理システム

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 05:11:52 +09:00