50 lines
1.1 KiB
Plaintext
50 lines
1.1 KiB
Plaintext
|
|
// P2P完全再現テスト - 段階的
|
||
|
|
|
||
|
|
print("=== P2P Exact Reproduction Test ===")
|
||
|
|
|
||
|
|
// Step 1: 元の構造を完全再現(ただし`setup`メソッドあり)
|
||
|
|
box MessageHub {
|
||
|
|
init { handlers }
|
||
|
|
|
||
|
|
setup() {
|
||
|
|
print("MessageHub setup called")
|
||
|
|
}
|
||
|
|
|
||
|
|
deliver(messageType, data, from) {
|
||
|
|
print("MessageHub deliver called")
|
||
|
|
print("Message: " + from + " -> " + messageType + " = " + data)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
box PeerNode {
|
||
|
|
init { nodeId, messageHub }
|
||
|
|
|
||
|
|
setup(nodeId, hub) {
|
||
|
|
print("PeerNode setup called")
|
||
|
|
me.nodeId = nodeId
|
||
|
|
me.messageHub = hub
|
||
|
|
print("PeerNode setup completed")
|
||
|
|
}
|
||
|
|
|
||
|
|
send(messageType, data) {
|
||
|
|
print("PeerNode send called")
|
||
|
|
print("About to call messageHub.deliver...")
|
||
|
|
me.messageHub.deliver(messageType, data, me.nodeId)
|
||
|
|
print("PeerNode send completed")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
print("Creating MessageHub...")
|
||
|
|
local hub
|
||
|
|
hub = new MessageHub()
|
||
|
|
hub.setup()
|
||
|
|
|
||
|
|
print("Creating PeerNode...")
|
||
|
|
local alice
|
||
|
|
alice = new PeerNode()
|
||
|
|
alice.setup("Alice", hub)
|
||
|
|
|
||
|
|
print("Sending message...")
|
||
|
|
alice.send("hello", "Hi there!")
|
||
|
|
|
||
|
|
print("Test completed successfully!")
|