lm-sistemi-software-distrib.../src/main/kotlin/drills/drill09/gossip/TestPush.kt

30 lines
647 B
Kotlin

package drills.drill09.gossip
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(20) {
QueryNode(Address(it), network, it * 2)
}
val alpha = network.getRandomNode() as QueryNode<Int>
val beta = network.getRandomNode() as QueryNode<Int>
val packet = FeedbackEpidemicPacket(
alpha.address,
beta.address,
24,
EpidemicPacket.Type.PUSH,
false
)
alpha.send(packet)
network.start()
}