AlchemistNetworkManager

class AlchemistNetworkManager(val event: Reaction<Any>, val device: ProtelisDevice<*> = event.node.asProperty(), val program: RunProtelisProgram<*>, val retentionTime: Double = Double.NaN, val distanceLossDistribution: <Error class: unknown class>? = null) : Serializable

Emulates a NetworkManager. This particular network manager does not send messages instantly. Instead, it records the last message to send, and only when simulateMessageArrival is called the transfer is actually performed.

Constructors

Link copied to clipboard
constructor(event: Reaction<Any>, device: ProtelisDevice<*> = event.node.asProperty(), program: RunProtelisProgram<*>, retentionTime: Double = Double.NaN, distanceLossDistribution: <Error class: unknown class>? = null)

Properties

Link copied to clipboard

The ProtelisDevice required to run Protelis.

Link copied to clipboard
val distanceLossDistribution: <Error class: unknown class>? = null

the distribution connecting the distance to the packet loss.

Link copied to clipboard

This reaction stores the time at which the neighbor state is read.

Link copied to clipboard

The action this network manager is associated with.

Link copied to clipboard

the message retention time, or NaN if all the messages get discarded as soon as a computation cycle is concluded.

Functions

Link copied to clipboard
open fun getNeighborState(): <Error class: unknown class><<Error class: unknown class>, Map<<Error class: unknown class>, Any>>
Link copied to clipboard
open fun shareState(toSend: Map<<Error class: unknown class>, Any>)
Link copied to clipboard
fun simulateMessageArrival(currentTime: Double)

Simulates the arrival of the message to other nodes.