36 lines
766 B
Kotlin
36 lines
766 B
Kotlin
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.createPushPullNode(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)
|
|
}
|
|
}
|