Simplex stop-and-wait protocol
Assuming no automatic buffering and queuing are done in hardware, sender must never send a new frame until receiver has completely taken old one through the use of from_physical_layer.
Delay is not feasible if the receiver has several lines to attend to.
Accounting for worst case behavior of the receiver is too conservative.
Thus it is preferable to have receiver send feedback to sender.