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