63 lines
1.4 KiB
Plaintext
63 lines
1.4 KiB
Plaintext
|
|
// 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!")
|