Files
hakorune/tests/development/test_p2p_phase2_communication.hako

76 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 🌐 P2PBox Phase 2: P2P通信テスト
// 目標: 同プロセス内P2P通信・ハンドラ登録・メッセージ送受信確認
local console
console = new ConsoleBox()
console.log("🌐 Phase 2: P2P通信テスト開始")
// 2.1 同プロセス内P2P通信セットアップ
console.log("\n🔗 2.1 同プロセス内P2P通信セットアップ")
local node_a
local node_b
node_a = new P2PBox("alice", "inprocess")
node_b = new P2PBox("bob", "inprocess")
console.log("✅ ノード作成完了")
console.log("Alice ID: " + node_a.getNodeId())
console.log("Bob ID: " + node_b.getNodeId())
// 2.2 ハンドラ登録・メッセージ受信テスト
console.log("\n📥 2.2 メッセージハンドラ登録テスト")
// 受信カウンタ初期化
local receivedCount
receivedCount = 0
// Bobにメッセージハンドラ登録chatメッセージ用
console.log("Bob用chatハンドラ登録中...")
// 注意: ハンドラ登録のAPIを確認する必要あり
// 想定されるAPI: node_b.on("chat", handler_function)
// しかし、現在の実装でfunction型がサポートされているかチェックが必要
console.log("⚠️ ハンドラ登録API確認が必要")
console.log("予想API: node_b.on(\"chat\", handler_function)")
// 2.3 基本メッセージ送信テスト(ハンドラなし版)
console.log("\n📤 2.3 基本メッセージ送信テスト")
local msg
msg = new IntentBox("greeting", "Hello from Alice!")
console.log("送信メッセージ作成:")
console.log("Intent名: " + msg.getName())
console.log("Payload: " + msg.getPayload())
// メッセージ送信現在のsend APIを確認
console.log("\n📡 メッセージ送信実行...")
// 送信API確認が必要
console.log("⚠️ 送信API確認が必要")
console.log("予想API: node_a.send(\"bob\", msg)")
// 2.4 到達可能性テスト
console.log("\n🔍 2.4 ノード到達可能性テスト")
// 到達可能性チェックisReachableメソッドがあるかテスト
console.log("Alice → Bob 到達可能性チェック...")
console.log("⚠️ isReachableAPI確認が必要")
console.log("予想API: node_a.isReachable(\"bob\")")
// 2.5 Phase 2テスト結果
console.log("\n📊 Phase 2テスト結果統計")
console.log("✅ ノード作成: 成功")
console.log("✅ IntentBox作成: 成功")
console.log("⚠️ ハンドラ登録: API確認要")
console.log("⚠️ メッセージ送信: API確認要")
console.log("⚠️ 到達可能性チェック: API確認要")
console.log("\n🎯 Phase 2次のステップ:")
console.log("1. P2PBox.on() ハンドラ登録API確認")
console.log("2. P2PBox.send() メッセージ送信API確認")
console.log("3. P2PBox.isReachable() 到達可能性API確認")
console.log("4. Function型サポートの確認")
console.log("\n🚧 Phase 2: API確認段階完了")