// P2Pテスト - 名前衝突回避版 print("=== P2P Renamed Test ===") // MessageHub (旧IntentBox) box MessageHub { init { handlers } setup() { print("MessageHub.setup() ENTER") me.handlers = new MapBox() print("MessageHub.setup() EXIT") } deliver(messageType, data, from) { print("MessageHub.deliver() ENTER") print("Message: " + from + " -> " + messageType + " = " + data) print("MessageHub.deliver() EXIT") } } // PeerNode (旧P2PBox) box PeerNode { init { nodeId, messageHub } setup(nodeId, hub) { print("PeerNode.setup() ENTER - nodeId: " + nodeId) me.nodeId = nodeId me.messageHub = hub print("PeerNode.setup() EXIT") } send(messageType, data) { print("PeerNode.send() ENTER - node: " + me.nodeId) print("About to call messageHub.deliver...") me.messageHub.deliver(messageType, data, me.nodeId) print("PeerNode.send() EXIT") } } // テスト print("Creating MessageHub...") local hub hub = new MessageHub() hub.setup() print("Creating Alice...") local alice alice = new PeerNode() alice.setup("Alice", hub) print("Creating Bob...") local bob bob = new PeerNode() bob.setup("Bob", hub) print("Alice sending message...") alice.send("hello", "Hi there!") print("Bob sending reply...") bob.send("reply", "Hello back!") print("Test completed!")