Skip to content

feat contention slots

Romain Jacob edited this page Mar 14, 2019 · 2 revisions

Objective

Describe the contention slot feature in Baloo.

Description

A contention slot refers to a slot where more than one node initiates a transmission with its own payload. When two nodes send different packets synchronously to the same receiver, one of the packet may still be received with high probability thanks to the capture effect.

This feature is always enabled.

Availability

Available for all supported platforms.

Compatibility

Compatible with all features and communication primitives.

Using the feature

A slot is configured as a contention slot via the slot array in the schedule section of the control packet: instead of a specific node ID, assign the macro GMW_SLOT_CONTENTION.

The information that a data slot is a contention slot is passed to the NET layer as a parameter of the on_slot_pre() callback. In such a slot, the middleware initiates a transmission only if the out_len is non-zero. Otherwise, the middleware starts the primitive as a receiver.

Example

The baloo-crystal application (see \examples) provides an example use this feature: the first data slot in the round is always a contention slot.