The implementation of PGM in ZeroMQ uses a window for recovery in memory, so it is short-lived. If recovery failed due to window exhaustion: for example, publishing is faster than recovery is required for the transition, then the base PGM socket will reset and continue with the best efforts.
This means that at high data transfer rates or significant packet loss, the transport will be constantly updated, and you will delete messages that cannot be restored: therefore, reliable delivery is not guaranteed.
The PGM configuration is focused on real-time translation, so slow receivers cannot stop the sender. The protocol supports both paradigms, but the latter has not been implemented due to lack of demand.
Steve-o
source share