35 lines
730 B
Kotlin
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)
|
|
}
|
|
} |