lm-sistemi-software-distrib.../src/main/kotlin/drills/drill09/dbreplica/TestPull.kt

31 lines
623 B
Kotlin
Raw Normal View History

2020-05-03 09:04:28 +00:00
package drills.drill09.dbreplica
2020-05-02 11:12:44 +00:00
import util.network.epidemic.TimedPayload
2020-05-02 11:12:44 +00:00
import util.network.simulator.Address
import util.network.simulator.Network
fun main() {
val network = Network()
repeat(10) {
DbNode.createPullNode(Address(it), network, TimedPayload(0, 0))
2020-05-02 11:12:44 +00:00
}
2020-05-02 20:27:43 +00:00
val alpha = network.getRandomNode() as DbNode<Int>
2020-05-02 11:12:44 +00:00
network.start()
Thread.sleep(1000)
network.forEach {
2020-05-02 20:27:43 +00:00
println((it as DbNode<Int>).nodeValue)
2020-05-02 11:12:44 +00:00
}
2020-05-03 15:30:17 +00:00
alpha.changeValue(TimedPayload.createContent(42))
2020-05-02 11:12:44 +00:00
Thread.sleep(2000)
network.forEach {
2020-05-02 20:27:43 +00:00
println((it as DbNode<Int>).nodeValue)
2020-05-02 11:12:44 +00:00
}
}