lm-sistemi-software-distrib.../src/main/kotlin/drills/drill09/average/Test.kt

35 lines
718 B
Kotlin

package drills.drill09.average
import util.network.epidemic.EpidemicPacket
import util.network.epidemic.replay.ReplayPacket
import util.network.simulator.Address
import util.network.simulator.Network
fun main() {
val network = Network()
repeat(17) {
AverageNode(Address(it), network, 0.0)
}
val alpha = network.getRandomNode() as AverageNode
val beta = network.getRandomNode() as AverageNode
val packet = ReplayPacket(
alpha.address,
beta.address,
1,
EpidemicPacket.Type.PUSH,
false
)
alpha.send(packet)
network.start()
Thread.sleep(2000)
network.forEach {
println(1.0 / (it as AverageNode).nodeValue)
}
}