Package-level declarations

Types

Link copied to clipboard
interface Aggregate<ID : Any>

Models the minimal set of aggregate operations. Holds the localId of the device executing the aggregate program.

Link copied to clipboard
sealed interface DataSharingMethod<in DataType>

A method to share data between nodes in a network.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class DelicateCollektiveApi

Represents methods intended to be used internally only. The usage of these methods is discouraged and should be avoided.

Link copied to clipboard

In-memory share. No serialization. Working only across multiple nodes hosted on the same operating system (for instance, in simulation).

Link copied to clipboard
value class Serialize<DataType>(val serializer: KSerializer<DataType>) : DataSharingMethod<DataType>

Serialization-based share using kotlinx.serialization. The data is serialized and deserialized using the provided serializer.

Link copied to clipboard

Context for yielding operations (exchanging, sharing). Yielding operations means operate on an Initial value (usually exchanged with neighbors), but return a possibly different value Return to the caller.

Link copied to clipboard
data class YieldingResult<Initial, Return>(val toSend: Initial, val toReturn: Return)

Specifies the value toSend and the value toReturn of a yielding operator.