Read across for one protocol; read down to see how the answers follow from how late the stop arrives and whether data may be lost.
Protocol or network | Mechanism | Scope | Lossless? |
|---|---|---|---|
UART, SPI | None at the link level (UART may add RTS/CTS) | Link | Only if the receiver keeps up |
I2C | Clock stretching; not acknowledging a byte | Link | Yes |
APB | Wait states (PREADY) | One transfer | Yes |
AXI, AXI-Stream | VALID/READY on each channel | Per channel, per hop | Yes |
On-chip networks | Credits per virtual channel; wormhole switching | Hop by hop | Yes |
PCI Express | Credits per type (posted, non-posted, completion; header and data), returned in UpdateFC packets; replay window for bit errors | Hop by hop | Yes (replay covers bit errors) |
InfiniBand, Fibre Channel | Link-level credits | Hop by hop | Yes |
Classic Ethernet | Drops when full; optional PAUSE (802.3x) | Link | No |
Ethernet for RDMA | Priority flow control (802.1Qbb), PAUSE per class | Link, per class | Yes, with pause storms and deadlock to manage |
TCP | Receiver-advertised sliding window | End to end | Recovers losses by resending |
Short, same-clock paths use ready-style signals (wait states, VALID/READY): the stop arrives within a cycle.
Long or pipelined links use credits, sized from the round trip, because a per-cycle stop would arrive too late.
Networks that span many hops choose between lossless and lossy: lossless fabrics (on-chip, PCIe, InfiniBand) must design out deadlock; lossy networks (Ethernet) recover at the ends.
Windows appear where acknowledgements already exist: TCP end to end, and the replay layers of reliable links.