Feature #11: Weighted Exponential Back-off

Implementing "Weighted Exponential Back-off" feature for our "Network" project.

Description

In our network topology, we have a shared communication channel. On this channel, all the connected devices can simultaneously transmit data, resulting in a collision. The transmission is time-slotted. After a collision, the transmitting devices back off, that is, they refrain from retransmitting for a random number of time slots.

To this end, the device draws a random integer, r, between 1 and 9 and waits for as many time slots. In case of another collision on the first retry, the device draws a random integer again, r, between 1 and 9, and waits for 10r10*r time slots. In case of [i][i] successive retransmission failures, the device backs off for 10ir10^i*r ...

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.