PublishInterval / PublishRate is default set to 5000 ms.
So we cannot publish "updates" any faster then each 5s.
This means the publish rate is a kind of "sample-rate" per signal change:
5000 means 1 signal change per interval of 5 seconds is sent,
100 means 1 signal change per interval of 100mec is sent,
10000 means 1 signal change per interval of 10 seconds is sent.
We have a pulse timer (or some other means to detect a time interval), it sets itself as soon as we have sent data and after T#PublishInterval it resets itself. If new data is detected during timer countdown we ignore it. If the timer has expired we can send data immediately and the timer sets itself again after this action. So, the timer "blocks" sending of data during countdown.