lm-sistemi-software-distrib.../src/main/kotlin/util/network/epidemic/consinstence/Test.kt

35 lines
730 B
Kotlin

package util.network.epidemic.consinstence
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)
}
}