BufWr inputArray frequency of change

I came across this code that produces a ping-pong delay effect:

b = Buffer.alloc(s, s.sampleRate, 2);

(
{
	var sig, freq, phs;
	freq = TExpRand.ar(80, 2500, Dust.ar(10) ! 2);
	sig = SinOsc.ar(freq.lag(0.02), mul: 0.25);
	phs = Phasor.ar(0, BufRateScale.kr(b), 0, BufFrames.kr(b));
	sig = sig + (BufRd.ar(2, b, phs) * 0.5);
	BufWr.ar(sig.reverse, b, phs);
	sig = sig * 0.25;
}.play;
)

The BufWr’s inputArray is reversed when Phasor completes one cycle. Is BufWr designed to wait for its phase signal to reset before allowing its inputArray to change? I would expect the inputArray to change at the audio rate.